Simplemente resuelva el problema de jsp chino ilegible

Simplemente resuelva el problema de jsp chino ilegible

El JSP para principiantes hace una página de respuesta simple El
código específico es el siguiente:

<form action="test.jsp">
    username : <input type="text" name="username" />
    <br />
    <input type="submit">
</form>
 Hello <%=request.getParameter("username")%>

Guarde como archivo test.jsp, inicie el acceso a tomcat, aparece la siguiente imagen:

Inserte la descripción de la imagen aquí
Escriba en el cuadro: vae Aparece la siguiente imagen:

Inserte la descripción de la imagen aquí
Pero "nombre de usuario" parece muy incómodo, así que decidí cambiarlo a "nombre de usuario".

<form action="test.jsp">
    用户名 : <input type="text" name="username" />
    <br />
    <input type="submit">
</form>
 Hello <%=request.getParameter("username")%>

En este momento apareció el problema: apareció
Inserte la descripción de la imagen aquí
una cadena de caracteres confusos donde debería aparecer el "nombre de usuario":

El llamado código ilegible en la respuesta es el código ilegible en la página de visualización, porque los datos de la página se colocan en la respuesta desde el servidor y luego se envían al navegador. Si los datos en la respuesta no se pueden analizar normalmente, se producirá el problema confuso.
¿Por qué no hay problema en inglés? Debido a que en iso-8859-1, gb2312, utf-8 y cualquiera de los formatos de codificación, el formato de codificación en inglés es el mismo, cada carácter ocupa 8 dígitos, el chino es problemático y el siguiente chino ocupa 16 dígitos en gb2312 , Dos bytes, y bajo utf-8, un chino ocupa 24 bits, tres bytes. Cuando el navegador no conoce el método de codificación, cortará estos caracteres del medio y se estropearán cuando se muestren nuevamente. Por lo tanto, para resolver el problema confuso, tenemos que decirle al navegador qué método de codificación usamos.

En Windows, el formato de codificación predeterminado del archivo es gb2312. La
solución es la siguiente:
(1) Agregue información de codificación a la respuesta http (respuesta)

<%@ page contentType="text/html; charset=gb2312"%>

Este párrafo debe colocarse en la primera línea de la página jsp para especificar el tipo de respuesta y el formato de codificación. ContentType es text / html, que significa contenido html, y charset significa que la codificación es gb2312. De esta forma, el navegador puede obtener el formato de codificación de la respuesta.

(2) Especifique el formato de codificación en html

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>title</title>
</head>

La parte meta se usa para especificar el formato de codificación del html actual. Tenga en cuenta que este párrafo debe colocarse en la etiqueta de la cabecera y en la parte superior de la etiqueta de la cabecera. Si no está en la parte superior, pueden surgir problemas debajo de, especialmente si hay chino en el título. debajo.

Las dos inspecciones anteriores son para garantizar que la salida de la página web jsp sea en chino. El
código modificado es el siguiente:

<%@ page contentType="text/html; charset=gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
        <title>title</title>
    </head>
    <body>
        <form action="test.jsp">
            用户名 : <input type="text" name="username" />
            <br />
            <input type="submit">
        </form>
    </body>
</html>

Corre de nuevo:

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/ws15168689087/article/details/109412317
Recomendado
Clasificación