JSPページの文字化けし問題の解決
JSPページを新規作成すると、デフォルトでは「ISO-8859-1」と符号化されています.ISO-8859-1に収録されている文字はASCIIに収録されている文字のほか、西欧語、ギリシャ語、タイ語、アラビア語、ヘブライ語に対応する文字記号も含まれています.ユーロ記号の出現は比較的遅く、ISO-8859-1には収録されていない.漢字はもちろんありませんが、漢字の文字セットはGBK(繁体字あり)とGB 2312(中国語簡体字)で、GBK符号化規格はGB 2312に対応しています.だからJSPページには一般的に次の3つの文があり、基本的に文字化けして表示されません.
しかし、MYSQlに接続すると、文字化けしが発生します.MySQLデータベースのデフォルトコードはLatin 1です.Latin 1はISO-8859-1の別名です.一部の環境ではLatin-1と書きます.mysqlデータベースをインストールするときは、GBKまたはGB 2312としてコードフォーマットを選択することができます.インストールされていることに気づかなければ、解決するのは難しくありません.
1, JSPページの操作で漢字の内容をMYSQLデータベースに挿入したい場合は、符号化フォーマットを変換するだけでいいです.具体的な操作は以下の通りです.
2, MYSQLの漢字を取り出してJSPページに表示します.つまり、上の逆操作です.
要するに一言でLatin 1とGB 2312の間を変換すればいいのです!
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
しかし、MYSQlに接続すると、文字化けしが発生します.MySQLデータベースのデフォルトコードはLatin 1です.Latin 1はISO-8859-1の別名です.一部の環境ではLatin-1と書きます.mysqlデータベースをインストールするときは、GBKまたはGB 2312としてコードフォーマットを選択することができます.インストールされていることに気づかなければ、解決するのは難しくありません.
1, JSPページの操作で漢字の内容をMYSQLデータベースに挿入したい場合は、符号化フォーマットを変換するだけでいいです.具体的な操作は以下の通りです.
<%
String example=” MYSQL ”;
example=new String(example.getBytes(“GB2312”),” Latin1”);
%>
2, MYSQLの漢字を取り出してJSPページに表示します.つまり、上の逆操作です.
<%
example=new String(example.getBytes(“Latin1”),”GB2312”);
%>
要するに一言でLatin 1とGB 2312の間を変換すればいいのです!