mysql對emoji的支持

步驟:

  1. 升級mysql數據庫到5.5.3+html

  2. 修改database、table和column字符集java

    alter database DATABASE_NAME character set = utf8mb4 collate = utf8mb4_unicode_ci;
     alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_unicode_ci;
    
     #修改表中類型爲varchar、char等類型的列,長度或字符個數視狀況而定。
     alter table TABLE_NAME change OLD_COLUMN_NAME NEW_COLUMN_NAME varchar(字符個數) character set utf8mb4 collate utf8mb4_unicode_ci;
  3. 修改mysql的配置文件my.cnfmysql

    [client]
     default-character-set = utf8mb4
    
     [mysql]
     default-character-set = utf8mb4
    
     [mysqld]
     character-set-client-handshake = FALSE
     character-set-server = utf8mb4
     collation-server = utf8mb4_unicode_ci
     init_connect='SET NAMES utf8mb4'
  4. 從新啓動mysql數據庫sql

    service mysql restart;
  5. 檢查mysql數據庫字符集數據庫

    show variables where variable_name like 'character_set_%' or variable_name like 'collation%';

    檢查是否有以下輸出:服務器

    | Variable_name                 | Value                             |
     |-----------------------------------------|-----------------------------------------|
     | character_set_client          | utf8mb4                           |
     | character_set_connection  | utf8mb4                           |
     | character_set_database    | utf8mb4                           |
     | character_set_filesystem  | binary                            |
     | character_set_results     | utf8mb4                           |
     | character_set_server      | utf8mb4                           |
     | character_set_system      | utf8                              |
     | character_sets_dir            | /usr/share/mysql/charsets/    |
     | collation_connection      | utf8mb4_unicode_ci            |
     | collation_database        | utf8mb4_unicode_ci            |
     | collation_server              | utf8mb4_unicode_ci            |
  6. 確認mysql-connector-java的版本,網上說只要大於5.1.13就能夠,通過測試5.1.26不能夠,可是最新版5.1.35(Mar 17, 2015版本)能夠,其它版本未測試測試

  7. 檢查服務器端的mysql數據庫鏈接字符串,必定要包含charactorEncoding=utf八、useUnicode=true、autoReconnect=true等字段rest

    注:JDBC Connection String的具體配置可參見:http://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html
  8. 導出數據庫時,須要設置字符集爲utf8mb4code

    mysqldump --default-character-set=utf8mb4 用戶名 密碼 數據庫名 > 文件名server

相關文章
相關標籤/搜索