您的位置:首页 > 运维架构 > Linux

有关ssh连接linux服务器后在mysql查询后输出中文结果乱码的的问题

2017-04-13 14:37 357 查看
操作环境如下

ssh连接linux服务器中的mysql数据库后,进行sql语句相应的结果查询,查询结果中文乱码。下面附解决方案。

mysql数据库内的中文正常,页面上的中文也正常,但是从数据库读出来的中文全部显示的是问号,所有编码都是utf8,而且网站在本地测试正常,传到linux服务器就出现了这种情况,更奇怪的问题是通过程序写入数据的内容在数据库里乱码但是输出到页面就正常了,因为服务器是刚配置的,虽然百思不得其解,但还是觉得问题出在服务器上,最后通过修改mysql的默认编码得了解决。

进入mysql  输入命令 status 查看编码是不是lan1,如果是请往下看

对于中文来说,数据库编码一直都是一个大问题,不过我们在Linux下mysql中可以起初将所有的编码全部设置为UTF-8,操作如下:

 

1 修改/etc/mysql/my.cnf 文件, sudo gedit /etc/mysql/my.cnf, 注意有些操作系统下,my.cnf位于/etc/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编码

出处:http://jichangxucode.lofter.com/post/1cc7fe32_4ed3371 //查找的资料都是修改my.ini文件的,而我的是空间,怎么办?

我要补充一点:my.ini 和 my.cnf 其实是同一个文件。
reference:参考文章
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息