关于linux下mysql数据库中文乱码的解决方法
mysql的默认编码是latinl不支持中文,进入mysql数据库,可以使用命令show variables like '%char%
去查看mysql数据库的的编码格式。
我在这个问题上碰到的误区
在登录了mysql后,使用set names utf8
对mysql数据库的编码格式设置为utf8,从而来解决中文乱码的问题。
首先set names utf8
能够改变数据库编码格式:
但是这能对当前登录有效而已。所以要真正解决中文乱码,使用set names
命令不能有效的解决这个问题。
真正解决中文乱码的有效方法
首先的停止mysql的运行,进入/etc/init.d目录下使用命令service mysqld stop
来停止mysql服务。
然后修改mysql配置文件my.cnf
在my.cnf文件中的[mysqld]下添加default-character-set=utf8
(默认字符集为utf8),在添加init_connect='SET NAMES utf8'
(设定连接mysql数据库时使用utf8编码格式)。
在my.cnf文件中的[client]下添加default-character-set=utf8
修改好后,启动启动mysql即可。然后再进入mysql中使用show variables like '%char%'
去查看mysql编码格式:
这样就已经完美解决了在linux下mysql数据库中文乱码的问题。