最近兩天一直在搞mysql的中文顯示問題,相當鬱悶啊。
實驗平台:struts1.2+myeclipse5.5+hibernate+mysql5.1
今天實驗結果是 :
當mysql的預設字元集設定如下, (show variables;)
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_filesystem | binary
character_set_results | utf8
character_set_server | utf8
character_set_system | utf8
character_sets_dir | C:\mysql-5.1.6\share\charsets\
my.ini檔案內容如下:
[mysqld]
basedir=C:/mysql-5.1.6
datadir=C:/mysql-5.1.6/data
default-character-set=utf8
[client]
port=3306
[mysql]
default-character-set=utf8
[WinMYSQLadmin]
Server=C:/mysql-5.1.6/bin/mysqld-nt.exe
或者
my.ini檔案內容設定成:
[mysqld]
basedir=C:/mysql-5.1.6
datadir=C:/mysql-5.1.6/data
default-character-set=gbk
[client]
port=3306
[mysql]
default-character-set=gbk
[WinMYSQLadmin]
Server=C:/mysql-5.1.6/bin/mysqld-nt.exe
hibernate的url配置如下:
<property name="connection.url">
jdbc:mysql://localhost:3306/test
</property>
表單請求為get或者post時,在後台均能列印出正常的中文,
然後jsp頁面字元集設定為gbk,mysql中插入的中文顯示正常,jsp頁面也能正常顯示出插入的中文。
問題終於解決!
註:在struts中實現了RequestProcessor介面。