服务器数据库编码格式问题_MySql数据库编码查看
2016-12-26 13:27:20  By: dwtedx

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

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;´);


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

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+