源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

服务器数据库编码格式问题解决方案

  • 时间:2021-05-30 19:40 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:服务器数据库编码格式问题解决方案
[b]服务器数据库编码格式问题[/b] 最近做项目在部署到阿里云服务器上之后出现了两个问题: [b]1、乱码问题。[/b] [b]2、ajax的php处理页面里面利用json_encode()函数返回json数据,则数据库返回的数据只能是UTF8,如果是gbk则json也无法返回。[/b] 发现是数据库编码格式问题,网站使用的编码格式为UTF8,数据库的编码格式调为了UTF8,但是character_set_server的值还是gbk。 查看数据库编码: 在mysql命令行里面输入:show variables like 'character%'; [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090141_0_93917.jpg[/img] 所以还是有乱码存在。 于是从网上找了解决方法: 在mysql命令行输入:set character_set_server=utf8; [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090142_1_75327.jpg[/img] 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;');
这种解决方法个人感觉不是很好,每次执行的次数太多,如果能修改服务器数据库的编码格式最好。 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部