Estoy trabajando en un proyecto recientemente. En general, el proyecto es tratar la base de datos y obtener los datos y enviarlos a una interfaz a través del protocolo HTTP. No hablaré sobre las funciones específicas, solo hablo de un punto aquí: el problema de codificación
En el proyecto, implica obtener el valor MD5 de todos los datos.
En proyectos Java, personalmente me gusta cambiar la codificación predeterminada del proyecto a UTF-8. Las herramientas de desarrollo utilizadas son principalmente eclipse. Sin embargo, surgen problemas extraños. Cuando debuge el proyecto en el IDE, no hubo problema, pero después de que se escribió en un paquete de jar, pasó
Java -Jar Project.Jar
Cuando se ejecuta, cada vez que se envían los datos, la interfaz devolverá los datos y dirá que mi firma es incorrecta. En otras palabras, fue mi último paso, algo salió mal al hacer operaciones MD5.
¿Por qué no puedo hacerlo después de obtener un paquete de jar? Después de varios giros y giros, verifiqué el Código hash de los parámetros y verifiqué los datos hexadecimales de todos los contenidos enviados. Descubrí que había un problema con la codificación de texto. Es correcto en Eclipse, pero después de escribir el paquete JAR, la línea de comando comienza sin configurar la codificación de cadena predeterminada, por lo que la máquina virtual Java se ejecuta de acuerdo con la codificación predeterminada del sistema. Estoy usando un entorno de Windows, así que, naturalmente, es una codificación GBK.
Más tarde, al buscar la información, la solución fue agregar un parámetro para especificar la codificación:
java -dfile.encoding = utf -8 -jar Project.jar
Eso es todo. La herramienta se está ejecutando normalmente.
Gracias por leer, espero que pueda ayudarte. ¡Gracias por su apoyo para este sitio!