En el proyecto web de Java, el método para resolver el código confuso chino se resume de la siguiente manera
El primer caso: llamar a la página JSP para mostrar el código confuso en chino <Br /> Descripción del problema: Llamando a la página JSP a través del navegador, el código confuso aparece en el contenido chino que se muestra en el navegador.
Solución: Primero, confirme que cuando este JSP guarda el contenido del archivo en el editor, utiliza el formato de codificación de UTF-8, y luego agregue <%@ pageEncoding = "UTF-8"%> al comienzo de la página JSP para resolver este problema de chino enmbargo
El segundo caso: llamar a la página de servlet muestra código confusión
Descripción del problema: al llamar a servlet a través del navegador, el contenido que se muestra en el servlet aparece confuso.
Solución: Antes de que el servlet use el objeto de respuesta a la salida, ejecute respuesta.setContentType ("Text/html; charset = utf-8"); Establezca la codificación del contenido de salida en UTF-8.
El tercer caso: parámetros confusos que pasan en forma posterior
Descripción del problema: Cuando los parámetros se envían al JSP o servlet correspondiente a través de los elementos de formulario en JSP, HTML o Servlet, los parámetros recibidos en el JSP o servlet recibido se muestran en chino.
Por ejemplo:
Envíe el código JSP de la siguiente manera:
<%@ page lenguaje = "java" pageEncoding = "utf-8"%> <html> <fead> <title> Ingrese el formulario </title> </head> <body> <form de formular ID = "InputForm" name = "inputForm" método = "post" acción = "visual name = "Password"/> <br/> <input type = "Envir" name = "enviar" value = "enviar" // </form> </body> </html>
El código JSP que recibe parámetros es el siguiente:
<% @ page lenguaje = "java" pageEncoding = "utf-8"%> <html> <fead> <Tilte> Recibir formulario </title> </head> <body> <% insertar request.setcharacterEncoding ("UTF-8"); %> Nombre de usuario: <%= request.getParameter ("Nombre de usuario")%> <br/> Contraseña: <%= request.getParameter ("Password")%> <br/> </body> </html>Solución: Antes de recibir los parámetros de publicación enviados, use request.setcharacterEncoding ("UTF-8") para establecer el formato de contenido de los parámetros recibidos en la codificación UTF-8. Consulte el contenido de insertar en el formulario receptor. Por supuesto, es mejor usar filtros chinos para este tipo de problema confuso.
El cuarto caso: el método URI pasa parámetros confusos
Descripción del problema: al pasar los parámetros usando un formulario, puede pasar por Post o obtener. El formulario no es aplicable. También puede pasar parámetros utilizando un método de enlace. Este método de pasar los parámetros es esencialmente pase los parámetros como Get. Los parámetros pasados en este método también pueden aparecer confusos cuando aparecen en chino.
como:
Copie el código de la siguiente manera: <a href = "/webproject/display.jsp? Username = zhang san & contraseña = 123"> Mostrar nombre de usuario y contraseña </a>
Solución: La esencia del problema es que el método de codificación predeterminado del contenido de parámetros aprobado por el método Get se solicita ISO8859-1, y utilizando request.setcharacterEncoding ("UTF-8") no puede resolver el problema. Para resolver este problema, modifique el archivo de configuración del servidor TomCat. Modificar la línea 43 del archivo conf/server.xml en el directorio Tomcat:
Antes de la modificación:
<Connector Port = "8080" Protocol = "Http/1.1" maxThreads = "150" ConnecttimeOut = "200000" redirectPort = "8443"/>
Contenido modificado:
<Connector Port = "8080" Protocol = "http/1.1" maxThreads = "150" ConnecttimeOut = "200000" redirectPort = "8443" Uriencoding = "UTF-8"/>
Esto puede resolver este tipo de problema confuso.
La quinta situación:
Descripción del problema: cuando se utiliza algunas bibliotecas o marcos de clase, para lograr la internacionalización del contenido de la página, se debe escribir el archivo de propiedades correspondientes. El contenido chino en el archivo de propiedades también aparecerá confuso cuando se muestre.
Solución: este problema confuso puede ser resuelto mediante la herramienta national2ascii en JDK. Use el siguiente comando:
Copie el código de la siguiente manera: national2ASCII -Enting UTF -8 Display.Properties Display_ZH_CN.Properties
La razón del problema confuso es que el compilador Java solo puede manejar archivos de caracteres codificados por Latin-1 o Unicode.
Lo anterior se trata de este artículo, espero que sea útil para el aprendizaje de todos.