Atualmente, tenho me preocupado com o problema dos caracteres chineses distorcidos. É normal que os dados chineses sejam inseridos no My Sql e exibidos normalmente na linha do cliente de comando. Quando são lidos do banco de dados para a página JSP, eles se tornam. "Marte".
Então, pesquisei on-line e vi muitos métodos: alguns disseram para alterar o default-character-set=latin1 em my.ini para default-character-set=utf8, alguns disseram para alterar o método de codificação padrão no Eclipse e alguns disseram para alterar <%@ page contentType="text/html;charset=gb2312" %>;, e outros dizem para alterar o caractere de conexão: Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/MyData?user= root&password=3211535&useUnicode=true&characterEncoding=GB2312"); .
Depois de várias modificações, também fiquei confuso com várias modificações e vários métodos de codificação. Ele ainda estava distorcido depois de alterá-lo repetidamente. Só que, às vezes, depois de alterar um determinado método de codificação em algum lugar, ele se tornava outro tipo de código distorcido. Trabalhei nisso até as 11 horas da noite passada, mas ainda não funcionou. Me acalmei e pensei: deveria começar pela fonte, então entrei na Internet para verificar qual método de codificação o JSP usa para ler os dados do My. Sql. Houve várias opiniões, então tentei separadamente. Finalmente bem sucedido, uma das sentenças: <%=sqlRst.getString(1)%> foi alterada para <%=new String(sqlRst.getString(1).getBytes("iso8859-1"),"gb2312")%> . Converta o método de codificação de iso8859-1 para gb2312 para exibir o chinês com êxito.
Este artigo vem do blog CSDN. Indique a fonte ao reimprimir: http://blog.csdn.net/laolik/archive/2009/12/18/5029459.aspx.
-