http://www.csie.mcu.edu.tw/~skyman/docs/utf8_in_mysql.php
編輯 /etc/my.cnf,請在 "[mysqld]" 字樣的下一行加入下面設定!!
default-character-set=utf8
init_connect='SET NAMES utf8'
http://hi.baidu.com/qhh_2008/blog/item/c3bb9942fd2e820973f05dca.html
修改/etc/mysql/my.cnf
sudo gedit /etc/mysql/my.cnf
在my.cnf文件中的[client]段和 [mysqld]段加上以下两行内容:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
我只有設定, 其他的部份都沒設定。(in ubuntu 11.04)
[mysqld]
default-character-set=utf8
而 mysql client 程式能不能顯示 utf8 中文, 那是另外一件事。
看到下面的 table, 也猜到編碼相關問題了。
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
mysql>
中文處理很麻煩, 簡單來說, server 端用 utf8 處理中文, client 自然也要用 utf8 處理, 中文資料才能正常顯示, 像上述 table 列的
character_set_client | latin1
自然 client 會以 latin1 顯示中文資料, 中文當然會變成亂碼。
mysql 的 client console
打上
SET NAMES utf8;
就可以看到中文, 當然該終端機也要能顯示 utf8 中文的能力 (別擔心, 只要你的口味不是太獨特, 應該都沒問題, 若你是另有品味的人士, 相信這問題也難不倒你)。
就可以看到中文, 當然該終端機也要能顯示 utf8 中文的能力 (別擔心, 只要你的口味不是太獨特, 應該都沒問題, 若你是另有品味的人士, 相信這問題也難不倒你)。
沒有留言:
張貼留言
使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。
我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。