红联Linux门户
Linux帮助

linux服务器mysql输出中文全是问号

发布时间:2016-11-25 09:26:34来源:lofter.com作者:jichangxucode
mysql数据库内的中文正常,页面上的中文也正常,但是从数据库读出来的中文全部显示的是问号,所有编码都是utf8,而且网站在本地测试正常,传到linux服务器就出现了这种情况,更奇怪的问题是通过程序写入数据的内容在数据库里乱码但是输出到页面就正常了,因为服务器是刚配置的,虽然百思不得其解,但还是觉得问题出在服务器上,最后通过修改mysql的默认编码得了解决。
进入mysql  输入命令 status 查看编码是不是lan1,如果是请往下看。
对于中文来说,数据库编码一直都是一个大问题,不过我们在Linux下mysql中可以起初将所有的编码全部设置为UTF-8,操作如下:
 
1.修改/etc/mysql/my.cnf 文件, sudo gedit /etc/mysql/my.cnf
在[client ] 下面加入
default-character-set=utf8
在[ mysqld ] 下面加 
character-set-server=utf8
collation-server=utf8_general_ci
init_connect='SET NAMES utf8'(或者是SET NAMES 'utf8')
在[ mysql ] 下面加入
default-character-set=utf8
 
2.重启mysql
sudo /etc/init.d/mysql restart 
下面我们可以使用show variables like 'character%';查看mysql编码
 
注:查找的资料都是修改my.ini文件的,而我的是空间,怎么办?
我要补充一点:my.ini 和 my.cnf 其实是同一个文件。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/26300.html