今天在寫一個小的網站作業,用jsp,在Ubuntu 8.10中向MySQL插入資料,插入英文和數字都可以,但中文就不行。我是把jsp中文的那些全用上了,不管用,試著用 mysql query browser (一個MySQL的GUI工具)在這裡插入中文資料,結果就報了incorrect string value .....這個錯,我明白原來是mysql的原因。然後就用baidu,用google搜,最後終於解決了,現分享經驗如下:
首先停止MySQL服務:sudo /etc/init.d/mysql stop
然後編輯MySQL設定檔:sudo gedit /etc/mysql/my.cnf
在my.cnf檔案中的[client]段下面加入
default-character-set=utf8
[mysqld_safe]
default-character-set=utf8
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8
重新啟動MySQL服務,
sudo /etc/init.d/mysql start
進入MySQL的命令提示字元下輸入如下指令:
mysql>show variables like '%char%';
如果出現的列表各項內容和以下相同表明配置成功了,
+----------------------+---------------------
| Variable_name | Value
+-----------------------+---------------------
| 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 | /usr/share/mysql/charsets/
然後把原來的資料庫刪了,再建立(我就是這樣做的,不這樣做還是會出錯)
現在中文資料能夠插入了
成功
Linuxidc免責聲明:本文僅代表作者個人觀點,與幫客之家無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。