Hibernate+MySQL中国語の文字化けし問題

562 ワード

永続化されたクラスに漢字を含むStringオブジェクトがある場合、データベース内の漢字に対応する部分は文字化けします.これは、主にMySQLデータテーブルの文字セットが現在使用しているローカル文字セットと異なるためです.
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に変更するだけです.