微信昵称乱码及mysql编码格式设置(utf8mb4)

参考文章: http://www.2cto.com/weixin/201504/386801.html
1.保证mysql版本5.5.3及以上,mysql在5.5.3版本中引入新的编码格式,取名为utf8mb4,
如果是在mysql客户端:
mysql> status;

或者
mysql> select version();

查看mysql版本 http://www.cnblogs.com/end/archive/2011/10/18/2216461.html
2.修改配置文件my.cnf
vim /etc/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

然后重启mysql服务,因oracle问题,mysql在linux下没有注册成服务,参考前面安装mysql的文章
查找mysql进程
 ps -ef | grep mysql

杀进程号,例如:我的两个进程号是:928和1085
kill -9 928
kill -9 1085

启动mysql服务,如果在root用户下,不用加“sudo”
sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &

查看mysql编码
show variables like 'collation_%'
show variables like 'character%';

3.jdbc驱动需要 mysql-connector-java-5.1.35-bin.jar
mysql官网找最新jdbc驱动,地址:
http://dev.mysql.com/downloads/file.php?id=456317

4.jdbc驱动配置:
jdbc\:mysql\://127.0.0.1\:3306/db_mydb?autoReconnect\=true

去掉:
&useUnicode=true&characterEncoding=UTF-8



附:
通过MySQL命令行修改:
mysql> set character_set_client=utf8mb4;
mysql> set character_set_connection=utf8mb4;
mysql> set character_set_database=utf8mb4;
mysql> set character_set_results=utf8mb4;
mysql> set character_set_server=utf8mb4;
mysql> set character_set_system=utf8mb4;
mysql> set collation_connection=utf8mb4;
mysql> set collation_database=utf8mb4;
mysql> set collation_server=utf8mb4;

猜你喜欢

转载自zhengyong407.iteye.com/blog/2301340
今日推荐