linux mysql的中文乱码解决方案
2017-04-05 15:42
459 查看
进入mysql查看当前编码:
show variables like "%char%";
我的除了 character_set_system之外其他都是latin1,拉丁字母不支持中文所以会乱码。而在PHP中设置set names utf8实际上相当于同时设置以下三条
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
并不能解决问题。
解决步骤如下:
vim /etc/my.cnf
在[client]下新增: default-character-set=utf8
(如果没有client这一项就自己写个client)
在[mysqld]下新增:
default-character-set=utf8
init_connect='SET NAMES utf8'
然后重启mysql服务:
service mysqld restart
再进入Mysql查看编码发现就是utf8了:
show variables like "%char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary(二进制) |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
show variables like "%char%";
+--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary(二进制) | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)
我的除了 character_set_system之外其他都是latin1,拉丁字母不支持中文所以会乱码。而在PHP中设置set names utf8实际上相当于同时设置以下三条
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
并不能解决问题。
解决步骤如下:
vim /etc/my.cnf
在[client]下新增: default-character-set=utf8
(如果没有client这一项就自己写个client)
在[mysqld]下新增:
default-character-set=utf8
init_connect='SET NAMES utf8'
然后重启mysql服务:
service mysqld restart
再进入Mysql查看编码发现就是utf8了:
show variables like "%char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary(二进制) |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
相关文章推荐
- 阿里云新建linux mysql中中文乱码的解决方案
- 问题解决笔记 -- LINUX 服务器 PHP与MYSQL中文乱码问题最终解决方案
- 阿里云新建linux mysql中中文乱码的解决方案
- Linux下mysql中文乱码解决方案
- linux出现mysql 中文乱码,修改后重启失败解决方案
- Linux下mysql中文乱码解决方案
- 阿里云新建linux mysql中中文乱码的解决方案
- 阿里云新建linux mysql中中文乱码的解决方案
- Linux下Mysql中文乱码解决方案(纯记录 怕忘)
- Linux下进行MYSQL编程时插入中文乱码的解决方案
- Linux下mysql中文乱码解决方案
- Linux下mysql中文乱码解决方案
- linux php mysql 中文乱码解决方案
- Linux下mysql中文乱码解决方案
- Linux下进行MYSQL编程时插入中文乱码的解决方案
- mysql5.1.7-beta-log和mysql-connector-java-5.0.5中文乱码的解决(linux)
- java;jsp;tomcat;mysql;hibernate;j2ee 编码中文乱码全面解决方案
- C#连接MySql中文乱码的解决方案
- 我的乱码之路——JSP与MySQL交互的中文乱码解决方案及总结
- Struts+Hibernate+MySql 中文乱码问题解决方案