/etc/my.cnf
<pre class="c" name="code">[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'
[client]
default-character-set=utf8
我不會寫程式, 只會上面這個....樓下請補充....
在最最一般的情況下,使用樓上的設定即可。
但如果你的資料庫裡面有多個 DB 使用不同語系,有多個 table 使用不同語系、甚至到各欄位使用不同語系,又要提供不同語系 client 來連、甚至有不同程式語言開發的 client 來使用,不同版本 mysql client 來連 .... 這麼複雜的情況,只需要把其中一個設定改成:
<pre class="c" name="code">init-connect='SET NAMES binary'
以上什麼亂七八糟的語系,一概服服貼貼,從此告別 MySQL 語系夢魘。這是小弟使用 MySQL 八年以上的終極設定。
PS. 此指令的目的在於讓 client 與 server 資料交流時,以 as-is 模式 (是什麼就是什麼,不要做任何語系轉換)來傳送。
目前是這樣進去 MySQL 就可以正常
mysql -u root -p --default-character-set=utf8
不過這些動作在 Windows 下安裝的 MySQL
用命令提示字元進去看會是亂碼好像還是無解
lol
喔!那真是誤會大了!你在命令提示字元視窗下 dump 出 UTF-8 當然是亂碼。
建議用個 GUI client 吧。
http://www.heidisql.com/