Os exemplos deste artigo compartilham com você o problema da transmissão de valor chinês Java e soluções para sua referência. O conteúdo específico é o seguinte
Configurações gerais de formato de codificação:
1. Pode ser codificado duas vezes, ou seja, depois de definir o conjunto de caracteres, decodificar o conjunto de caracteres antes da inserção, que também é a maneira mais eficaz.
Definir conjunto de personagens:
String value = null;
tente {value = urlencoder.encode (jsonObjectPar.getString ("value"), "utf-8"); } Catch (UnsupportEdEncodingException e) {E.PrintStackTrace (); }
Conjunto de personagens decodificado:
String value = null; tente {value = new String (value.getBytes ("ISO-8859-1"), "UTF-8"); } Catch (UnsupportEdEncodingException e) {E.PrintStackTrace (); } 2. Processamento direto:
nome de usuário = new string (nome de usuário.getbytes ("ISO-8859-1"), "UTF-8");
3. Se o ponto de interrupção for inserido em chinês quando for inserido e o código será fechado após a entrada do banco de dados, o banco de dados geralmente não será definido como UTF-8;
Verifique primeiro a codificação do banco de dados (MySQL como exemplo):
Execute na consulta do banco de dados: mostre variáveis como 'caractere%'; Ver todas as informações de codificação Modifique o conjunto de caracteres que não é UTF-8, verifique principalmente se o DateBase é UTF-8, o comando
mostrar variáveis como 'personagem%'; +―----―++----------+| Variable_name | Valor | +―----―++----------+| caractere_set_client | Latin1 | | caractere_set_connection | Latin1 | | caractere_set_database | Latin1 | | caractere_set_filesystem | binário | | caractere_set_results | Latin1 | | caractere_set_server | Latin1 | | caractere_set_system | utf8 | | caractere_sets_dir | /usr/share/mysql/charsets/| +------+―-------+
A partir das informações acima, podemos ver que a codificação do banco de dados é Latin1 e precisa ser modificada para GBK ou UTF8;
Entre eles, caractere_set_client é o método de codificação do cliente; caractere_set_connection é a codificação usada para estabelecer uma conexão; Caracter_set_database Database Encoding; Caracter_Set_Results Result Set Set Encoding; Caracter_Set_Server Database Server Coding. Desde que os quatro métodos de codificação acima sejam garantidos que os quatro acima sejam iguais, não haverá problemas ilegíveis.
4. O problema do código ilegível do plano de fundo para a página:
Defina o conjunto de caracteres antes de retornar os dados:
Response.Setcharacterencoding ("UTF-8");
5.JSP Página para o código de fundo em segundo plano:
5-1. A codificação de JSP está definida como UTF-8
5-2. Este é o julgamento em segundo plano
Nome da string = request.getParameter ("ABC"); if (name.equals (new string (request.getParameter ("abc"). getBytes ("iso8859-1"), "iso8859-1"))) {name = new string (name.getBytes ("iso8859-1"), "utf-8"); }O código enviado pelo método get ISO8859-1
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.