服务器数据库编码格式问题

2018-06-17 23:05:50来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

最近做项目在部署到阿里云服务器上之后出现了两个问题:(李昌辉)

1、乱码问题。

2、ajax的php处理页面里面利用json_encode()函数返回json数据,则数据库返回的数据只能是UTF8,如果是gbk则json也无法返回。

发现是数据库编码格式问题,网站使用的编码格式为UTF8,数据库的编码格式调为了UTF8,但是character_set_server的值还是gbk。

查看数据库编码:

在mysql命令行里面输入:show variables like 'character%';

所以还是有乱码存在。

于是从网上找了解决方法:

在mysql命令行输入:set character_set_server=utf8;

OK修改成功!返回数据也正常,但是当关闭数据库服务,重新启动,发现set character_set_server又变回了gbk。

所以这个方法只能暂时性的解决。

最终找到了一个能用的不是特别好的解决方法是在执行SQL语句之前,先执行该SQL语句即可:

$conn->query('SET character_set_client = utf8;');
$conn->query('SET character_set_results = utf8;');
$conn->query('SET character_set_connection = utf8;');

这种解决方法个人感觉不是很好,每次执行的次数太多,如果能修改服务器数据库的编码格式最好。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:简单谈谈数据库索引

下一篇:mysql : mysql 5.6.13 免安装版配置