博客
关于我
深入浅出MySQL(五) MySQL5.5的中文乱码坑
阅读量:344 次
发布时间:2019-03-04

本文共 1346 字,大约阅读时间需要 4 分钟。

MySQL 5.5版本中中文乱码的解决方法

登录MySQL查看字符集

首先,登录MySQL后执行以下命令查看当前字符集设置:

SHOW VARIABLES LIKE 'character%';

运行后,会显示以下结果:

Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/

修改MySQL配置文件

进入MySQL配置文件my.cnf,找到相应的配置字段进行修改:

  • 在[client]字段中添加字符集设置:
  • [client]port = 3306socket = /var/lib/mysql/mysql.sockdefault-character-set=utf8
    1. 在[mysqld]字段中设置字符集:
    2. [mysqld]port = 3306socket = /var/lib/mysql/mysql.sockcharacter-set-server=utf8
      1. 在[mysql]字段中添加字符集:
      2. [mysql]no-auto-rehashdefault-character-set=utf8

        修改完成后,执行以下命令重启MySQL服务:

        service mysql restart

        检查修改效果

        重启服务后,重新执行SHOW VARIABLES LIKE 'character%';,确认数据库字符集已全部改为utf8:

        Variable_name Value
        character_set_client utf8
        character_set_connection utf8
        character_set_database utf8
        character_set_filesystem binary
        character_set_results utf8
        character_set_server utf8
        character_set_system utf8
        character_sets_dir /usr/share/mysql/charsets/

        解决连接层乱码问题

        如果上述修改仍未解决乱码问题,问题可能出在连接层。可以在SQL文件的最前面添加以下语句:

        SET NAMES 'utf8';

        这条语句等价于以下三条命令:

        SET character_set_client = utf8;SET character_set_results = utf8;SET character_set_connection = utf8;

        注意事项

        • 确保MySQL服务在修改配置后已正确重启。
        • [mysqld]字段与[mysql]字段有区别,务必 distinction.
        • 如果问题依旧存在,建议检查网络连接配置和客户端工具设置。

    转载地址:http://pgve.baihongyu.com/

    你可能感兴趣的文章
    Python:带有生成器的给定集合的幂集
    查看>>
    Python:按字符的位置拆分字符串
    查看>>
    Python:替换嵌套字典中的值
    查看>>
    Python:爬取数据出现response.status_code为403解决方法
    查看>>
    Python:爬取数据出现response.status_code为418解决方法
    查看>>
    Python:生成“元组集“;来自“元组列表“;不考虑顺序
    查看>>
    Python:生成具有趋势的随机时间序列数据(例如周期性、指数衰减等)
    查看>>
    Python:用渐进式数字重命名列表中的重复项而不对列表进行排序
    查看>>
    Python:矩形参数无效
    查看>>
    Python:语法进阶
    查看>>
    Python:调用复制函数时调用 Python 对象时超出了最大递归深度
    查看>>
    Python:这两个 import 语句有什么区别?
    查看>>
    Python:通过串口从 Velleman k8090 读取数据
    查看>>
    python:遍历具有列表值的字典
    查看>>
    Python:降低精度 pandas 时间戳数据帧
    查看>>
    python:非阻塞子进程,检查标准输出
    查看>>
    PythonABC多重继承
    查看>>
    Pythonargparse中的多个参数
    查看>>
    Python关于 *args 和 **kwargs 参数的详解(全)
    查看>>
    Pythonfrozenset散列算法/实现
    查看>>