• mysql对emoji的支持


    步骤:

    1. 升级mysql数据库到5.5.3+

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

       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.cnf

       [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数据库

       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=utf8、useUnicode=true、autoReconnect=true等字段

       注:JDBC Connection String的具体配置可参见:http://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html
      
    8. 导出数据库时,需要设置字符集为utf8mb4

      mysqldump --default-character-set=utf8mb4 用户名 密码 数据库名 > 文件名

  • 相关阅读:
    VS2003在解决方案范围内搜索卡死问题的解决
    文言古诗词
    中学名句
    Linux查看系统中socket状态
    为什么我希望用C而不是C++来实现ZeroMQ
    获取进程的IO计数
    Win7查看开关机记录
    VS的release工程设置为可调试
    VC开发中一些问题的解决
    shell脚本0——”一切皆文件“, 认识Shell
  • 原文地址:https://www.cnblogs.com/coderland/p/5903054.html
Copyright © 2020-2023  润新知