最近、中国語の文字化けの問題に悩まされています。My Sql に中国語のデータを挿入すると、コマンド クライアント ラインで正常に表示されます。データベースから JSP ページに読み込むと、 になります。 "火星"。
そこで、オンラインで検索したところ、多くの方法が見つかりました。my.ini のdefault-character-set=latin1 をdefault-character-set=utf8 に変更するというものもあれば、Eclipse のデフォルトのエンコード方法を変更するというものや、変更するというものもありました。 <%@ page contentType="text/html;charset=gb2312" %>; など、接続文字を変更すると言っています: Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/MyData?user= root&password=3211535&useUnicode=true&characterEncoding=GB2312"); 。
いくつかの修正といくつかのエンコード方法で混乱しましたが、何度も変更しても文字化けしていました。ただ、どこかのエンコード方法を変更すると、別の種類のコードが文字化けすることがありました。 昨夜11時過ぎまで作業しましたが、それでも動かず、落ち着いてソースから始めようと思い、JSPがどのようなエンコード方式でMyからデータを読み取っているかをオンラインで確認しました。 SQL いくつかの意見があったので、個別に試してみました。最終的に成功し、文の 1 つ: <%=sqlRst.getString(1)%> が <%=new String(sqlRst.getString(1).getBytes("iso8859-1"),"gb2312")%> に変更されました。 。中国語を正常に表示するには、エンコード方式を iso8859-1 から gb2312 に変換します。
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/laolik/archive/2009/12/18/5029459.aspx
-