Filed Under (MySQL) by a-wei on 23-08-2006

話說在舊站的資料上,有紀錄過這麼一篇 .. 然而今天在安裝 MySQL 5.0.x 的時候,卻發現怎麼沒辦法完全 UTF8..
想說在 Google 上找看看,能否找到之前留存的資料,卻是百尋不遍 ..

有找到相關的設定方式,但比起自己印象中的設定方式,好像又不太一樣 ..

結果 .. 答案卻是遠在天邊,近在眼前 .. 就在自己管理的一部機器上可以找到相關的設定.

設定方式:

1. 開啟 /etc/my.cnf

找到這兩段,並加入以下的字串.

a. [client]
default-character-set = utf8

b. [mysqld]
default-character-set = utf8
init-connect = ‘SET NAMES UTF8′

編輯完後存檔,把 mysql 重啟.

之後進入 mysql 的查詢

mysql> show variables;

就可以看到上半段的資料是這樣 (mysql 4.1.x)

| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |

當然,照剛剛那樣設定是一定會呈現如上所述的結果 ..

如果有還參有 latin1 ,那應該是你的系統可能參有舊版的 mysql .

把新版 mysql 目錄內的 mysql ,如新版的程式放在 /usr/local/mysql/bin/mysql

把它 copy 至 /usr/bin

覆蓋掉舊版的 .. 這樣就行了。

另外這是 5.0.x 的結果

| 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/local/mysql/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |

差異是 5.0.x 多了個 character_set_filesystem ,而且值是 binary .. 這就可以不理會它了。



Post a comment

Name: 
Email: 
URL: 
Comments: