Hibernate+MySQL中国語の文字化けし問題
562 ワード
永続化されたクラスに漢字を含むStringオブジェクトがある場合、データベース内の漢字に対応する部分は文字化けします.これは、主にMySQLデータテーブルの文字セットが現在使用しているローカル文字セットと異なるためです.
Windowsシステムの場合、システムのデフォルトのローカル文字セットはgb 2312であり、データテーブルにもgb 2312文字セットを使用させるために、データテーブルを作成するSQL文をこのように記述します.
次にhibernate.cfg.xmlに次の値を追加します.
linuxシステムの場合は、上のgb 2312をUTF 8に変更するだけです.
Windowsシステムの場合、システムのデフォルトのローカル文字セットはgb 2312であり、データテーブルにもgb 2312文字セットを使用させるために、データテーブルを作成するSQL文をこのように記述します.
CREATE TABLE TEST
{
...
...
...
}default character set gb2312;
次にhibernate.cfg.xmlに次の値を追加します.
<property name="connection.characterEncoding">gb2312</property>
linuxシステムの場合は、上のgb 2312をUTF 8に変更するだけです.