Simplesmente resolva o problema de jsp chinês truncado

Simplesmente resolva o problema de jsp chinês truncado

Iniciante JSP cria uma página de resposta simples O
código específico é o seguinte:

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

Salve como arquivo test.jsp, inicie o acesso ao tomcat, a seguinte imagem aparecerá:

Insira a descrição da imagem aqui
Digite na caixa: vae A seguinte imagem aparecerá:

Insira a descrição da imagem aqui
Mas "nome de usuário" parece muito desconfortável, então decidi alterá-lo para "nome de usuário"

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

Nesse momento, o problema apareceu:
Insira a descrição da imagem aqui
uma sequência de caracteres truncados apareceu onde o "nome do usuário" deveria aparecer:

O chamado código ilegível na resposta é o código ilegível na página de exibição, porque os dados da página são colocados na resposta do servidor e, em seguida, enviados para o navegador. Se os dados na resposta não puderem ser analisados ​​normalmente, o problema ilegível ocorrerá.
Por que não há problema em inglês? Como em iso-8859-1, gb2312, utf-8 e qualquer um dos formatos de codificação, o formato de codificação em inglês é o mesmo, cada caractere ocupa 8 dígitos e o chinês é problemático e o próximo chinês ocupa 16 dígitos em gb2312 , Dois bytes, e em utf-8, um chinês ocupa 24 bits, três bytes. Quando o navegador não conhece o método de codificação, ele corta esses caracteres do meio e eles ficam bagunçados quando são exibidos novamente. Portanto, para resolver o problema confuso, precisamos informar ao navegador qual método de codificação usamos.

No Windows, o formato de codificação padrão do arquivo é gb2312. A
solução é a seguinte:
(1) Adicionar informações de codificação à resposta http (resposta)

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

Este parágrafo deve ser colocado na primeira linha da página jsp para especificar o tipo de resposta e o formato de codificação. O contentType é text / html, que significa conteúdo html, e charset significa que a codificação é gb2312. Dessa forma, o navegador pode obter o formato de codificação da resposta.

(2) Especifique o formato de codificação em html

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

A metaparte é usada para especificar o formato de codificação do html atual. Observe que este parágrafo deve ser colocado na tag head e colocado no topo da tag head. Se não estiver no topo, podem ocorrer problemas em ie, especialmente se houver chinês no título. sob.

As duas inspeções acima são para garantir que a saída da página da web jsp seja chinesa. O
código modificado é o seguinte:

<%@ 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>

Corra novamente:

Insira a descrição da imagem aqui

Acho que você gosta

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