2014年1月6日 星期一

MySQL 的 "SET NAMES xxx" 字元編碼問題分析

Mysql 下指令:
show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

若是下這個指令:

SET NAMES latin1
結果:
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+


用 perl
perl -pi -e 's/latin1/utf8/g' DBNAME.utf8.sql

參考網址:
http://www.vixual.net/blog/archives/310
http://blog.lyhdev.com/2011/06/mysql-mysqldump.html

【下列文章您可能也有興趣】

沒有留言: