Cómo resolver el problema de los caracteres confusos en aplicaciones WEB Java
Procesamiento del cliente
Cuando el cliente envía una solicitud HTTP, se enviarán al servidor datos en el siguiente formato:
línea de solicitud lt
ltTitleltCRLF[lt;Request bodyltCRLF]
Acerca del formato de la solicitud HTTP, puede obtener más información sobre el protocolo HTTP y el formulario HTML (hable sobre la diferencia entre GET y POST).
Aquí, tanto la línea de solicitud como el cuerpo de la solicitud deben codificarse en consecuencia.
Procesamiento de codificación de líneas de solicitud
La parte de la URL en la línea de solicitud debe codificarse en el formato application/x-www-form-URL. El juego de caracteres utilizado en la codificación es el juego de caracteres utilizado cuando la página web actual se muestra en el navegador.
Hay dos clases en el JDK que manejan datos de tipo aplicación/x-www-form-urlencoded, son URLEncoder y URLDecoder. Cuando los datos de una página web deben codificarse manualmente, se puede utilizar la clase URLEncoder para completar el trabajo de codificación. Las ubicaciones donde se debe realizar el procesamiento manual de codificación de URL incluyen:
Atributos de etiqueta Href en enlace();
Formularios enviados por correo (
Etiquetas de acción en propiedad) .
Por ejemplo, no se deben generar enlaces como este en la página web:
lt! -Error de ortografía-
lta href="/hello/checkUser.html? Opt=Autenticación de usuario chino"
La escritura correcta es: