Mysql是我们项目中非常常用的数据型数据库。但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况。下面就来介绍一下如何彻底解决数据库中文乱码情况。
查看Mysql编码
这里我们可以看character_sert_database与character_set_server的字符集都是latin1.那么在mysql数据库中,server,database,table的字符集都默认是latin1.如果想解决乱码问题,必须把以上的字符集设置为UTF8才可以。
设置编码格式为UTF8
以下通过修改mysql配置文件/etc/my.cnf,来设置 Mysql的编码格式,这是一个全局设置。
在配置文件中添加以下内容,就可以完成设置:
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
请注意这几个参数配置的位置,不然可能会启动不起来mysql服务:
OK。这下如果你重启mysql服务也会发现它的字符集是utf8.
完成之后我们创建表的时候不需要指定字符编码,它默认就是utf8;
网上很多答案都是直接在session级别设置mysql的字符编码,这是治标不治本的方法。我们还是要从源头上解决这个问题。那就是修改mysql默认的配置文件,把它的字符集修改成能够使用中文字符的UTF8就OK了。