Ces jours-ci, j'ai été troublé par le problème des caractères chinois tronqués. Il est normal que les données chinoises soient insérées dans My Sql et affichées normalement dans la ligne client de commande. Lorsqu'elles sont lues de la base de données vers la page JSP, elles deviennent. "Mars".
J'ai donc cherché en ligne et vu de nombreuses méthodes : certains ont dit de changer le default-character-set=latin1 dans my.ini en default-character-set=utf8, certains ont dit de changer la méthode d'encodage par défaut dans Eclipse, et certains ont dit de changer <%@ page contentType="text/html;charset=gb2312" %>;, et d'autres disent de changer le caractère de connexion : Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/MyData?user= root&password=3211535&useUnicode=true&characterEncoding=GB2312"); .
Après plusieurs modifications, j'ai également été dérouté par plusieurs modifications et plusieurs méthodes d'encodage. C'était toujours tronqué après l'avoir modifié encore et encore. C'était juste que parfois, après avoir changé une certaine méthode d'encodage quelque part, cela devenait un autre type de code tronqué. J'ai travaillé dessus jusqu'à 23 heures hier soir, mais cela n'a toujours pas fonctionné. Je me suis calmé et j'ai pensé que je devrais commencer par la source, alors je suis allé en ligne pour vérifier quelle méthode d'encodage JSP utilise pour lire les données de My. Sql. Il y avait plusieurs avis, donc je les ai essayés séparément. Finalement réussi, l'une des phrases : <%=sqlRst.getString(1)%> a été modifiée en <%=new String(sqlRst.getString(1).getBytes("iso8859-1"),"gb2312")%> . Convertissez la méthode de codage d'iso8859-1 en gb2312 pour afficher avec succès le chinois.
Cet article provient du blog CSDN Veuillez indiquer la source lors de la réimpression : http://blog.csdn.net/laolik/archive/2009/12/18/5029459.aspx.
-