升级mysql数据库到5.5.3+html
修改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;
修改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'
从新启动mysql数据库sql
service mysql restart;
检查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 |
确认mysql-connector-java的版本,网上说只要大于5.1.13就能够,通过测试5.1.26不能够,可是最新版5.1.35(Mar 17, 2015版本)能够,其它版本未测试测试
检查服务器端的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
导出数据库时,须要设置字符集为utf8mb4code
mysqldump --default-character-set=utf8mb4 用户名 密码 数据库名 > 文件名server