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

操作环境如下


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:参考文章

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值