設定編碼

  1. 查詢 MySQL 預設使用編碼。
    mysql> show variables like 'char%';
    +--------------------------+----------------------------+
    | 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.01 sec)
    
  2. MySQL server, client, mysql 皆預設使用 UTF8 編碼。
    [root@kvm5 ~]# vim /etc/my.cnf
    [mysqld]
    collation-server=utf8_general_ci
    character-set-server=utf8
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
  3. 重新啟動 mysqld 服務
    [root@kvm5 ~]# /etc/init.d/mysqld restart
    
  4. 再次查詢 MySQL 預設使用編碼,皆已改為 utf8。
    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/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)