1.服务使用mysql连接客户端
连接示例:$ mysql -h10.45.46.20 -P8890 -ubss30 -p1qaz@wsX -Dmarking
2.查看乱码

3.出现中文乱码原因
3.1.服务器为UTF8编码,数据库默认为latin1
[weblogic@host18 mysql5.6]$ echo $LANG
en_US.UTF-8
3.2查看数据库编码
mysql> SHOW VARIABLES LIKE 'character%';

4.解决办法
4.1在mysql控制台通过编码命令进行设置
下面设置只能当前mysql窗口有效,并不是永久设置编码。
mysql> SET character_set_client = utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> SET character_set_connection = utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> SET character_set_database = utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> SET character_set_results = utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> SET character_set_server = utf8;
Query OK, 0 rows affected (0.01 sec)
4.2再次查看结果

5.Mysql服务器端解决(永久解决)
找到my.cn文件,如:/mysql/mysql5.6/my.cn,修改三个selection选项,不一定全部有。
[client] default-character-set=utf8
[mysql] default-character-set=utf8
[mysqld] default-character-set=utf8


我的my.cnf文件只有mysqld 和client两个section,因此可以直接加上default-character-set=utf8 即可。
如果,你的配置文件含有mysql 标签的话,可以在下边加入即可。
最后一步,修改了配置文件要重启mysql服务器:
[weblogic@host18 mysql5.6]$ service mysqld restart
本文介绍了MySQL中出现中文乱码的问题及其原因,并提供了两种解决方案:一种是在MySQL控制台临时设置编码,另一种是通过修改my.cnf文件来永久解决乱码问题。
1272

被折叠的 条评论
为什么被折叠?



