服务器数据库编码格式问题_MySql数据库编码查看
程序员文章站
2022-01-04 19:58:31
...
最近做项目在部署到阿里云服务器上之后出现了两个问题
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;´);
这种解决方法个人感觉不是很好、每次执行的次数太多、如果能修改服务器数据库的编码格式最好