No Java Web Project, o método de resolver o código ilegal chinês está resumido da seguinte maneira
O primeiro caso: chamando a página JSP para exibir código iluminado em chinês <r /> Descrição do problema: chamando a página JSP através do navegador, o código ilegal aparece no conteúdo chinês exibido no navegador.
Solução: Primeiro, confirme que quando este JSP salva o conteúdo do arquivo no editor, ele usa o formato de codificação do UTF-8 e adicione <%@ pageEncoding = "utf-8"%> ao início da página JSP para resolver esse problema de chinês ilegal
O segundo caso: chamando a página do servlet mostra código ilegal
Descrição do problema: Ao ligar para o servlet através do navegador, o conteúdo exibido no servlet aparece.
Solução: Antes que o servlet use o objeto de resposta para saída, execute a resposta.setContentType ("text/html; charset = utf-8"); Defina a codificação do conteúdo de saída como UTF-8.
O terceiro caso: parâmetros iluminados que passam em forma de postagem
Descrição do problema: Quando os parâmetros são enviados ao JSP ou servlet correspondente através dos elementos do formulário em JSP, HTML ou Servlet, os parâmetros recebidos no JSP ou servlet recebidos são exibidos em chinês.
Por exemplo:
Envie o código JSP da seguinte forma:
<%@ página linguagem = "java" pageEncoding = "utf-8"%> <html> <head> <titter> insira formulário </title> </head> <body> <form id = "inputForm" name = "inputForm" method = "post" action = "display.jsp"> nome de uso: <input = "text" "=" user "" user "user" username = "tyer =" user ". name = "senha"/> <br/> <input type = "submit" name = "submit" value = "submit" // </form> </body> </html>
O código JSP que recebe parâmetros é o seguinte:
<% @ Page Language = "Java" PageEncoding = "Utf-8"%> <html> <head> <tilte> Receba formulário </title> </head> <body> <% insert request.SetcharAcTerEncoding ("UTF-8"); %> Nome de usuário: <%= request.getParameter ("nome de usuário")%> <br/> Senha: <%= request.getParameter ("senha")%> <br/> </body> </html>Solução: Antes de receber os parâmetros enviados por postagem, use Request.SetcharActerencoding ("UTF-8") para definir o formato de conteúdo dos parâmetros recebidos para a codificação UTF-8. Consulte o conteúdo de inserção no formulário de recebimento. Obviamente, é melhor usar filtros chineses para esse tipo de problema.
O quarto caso: o método URI passa parâmetros distorcidos
Descrição do problema: Ao passar os parâmetros usando um formulário, você pode passar pela postagem ou obter. O formulário não é aplicável. Você também pode passar os parâmetros usando um método de link. Esse método de passagem de parâmetros está essencialmente passando por parâmetros como Get. Os parâmetros aprovados nesse método também podem parecer distorcidos quando aparecem em chinês.
como:
Copie o código da seguinte
Solução: A essência do problema é que o método de codificação padrão do conteúdo de parâmetros aprovado pelo método get é solicitado ISO8859-1 e, usando o request.Setcharacterencoding ("UTF-8") não pode resolver o problema. Para resolver esse problema, modifique o arquivo de configuração do servidor Tomcat. Modifique a linha 43 do arquivo conf/server.xml no diretório Tomcat:
Antes da modificação:
<Conector port = "8080" protocol = "http/1.1" maxthreads = "150" conextimeout = "200000" redirectport = "8443"/>
Conteúdo modificado:
<Conector port = "8080" protocol = "http/1.1" maxthreads = "150" conextimeout = "200000" redirectport = "8443" uriencoding = "utf-8"/>
Isso pode resolver esse tipo de problema ilegível.
A quinta situação:
Descrição do problema: Ao usar algumas bibliotecas ou estruturas de classe, para obter a internacionalização do conteúdo da página, o arquivo de propriedades correspondente precisa ser gravado. O conteúdo chinês no arquivo Properties também aparecerá iluminado quando exibido.
Solução: Este problema ilegal pode ser resolvido pela ferramenta nativa2ascii no JDK. Use o seguinte comando:
Copie o código da seguinte
O motivo do problema ilegível é que o compilador Java pode lidar apenas com os arquivos de caracteres codificados por Latin-1 ou Unicode.
O exposto acima é tudo sobre este artigo, espero que seja útil para o aprendizado de todos.