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


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

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

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

  • 相关阅读:
    iOS 关于使用xib创建cell的两种初始化方式
    KVO的初级使用
    通知的初级使用
    C语言的变量 常量
    C语言的编译 链接
    1 hello word
    java 中 == 与 equals引出的字符串比较
    02PSP0级及登陆界面开发
    00软工课程引言
    06动手动脑
  • 原文地址:https://www.cnblogs.com/lingxin/p/5948816.html
Copyright © 2020-2023  润新知