博客
关于我
深入浅出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/

    你可能感兴趣的文章
    oracle 监听器的工作原理
    查看>>
    oracle 行列转换
    查看>>
    oracle 行转列
    查看>>
    Oracle 表
    查看>>
    oracle 课堂笔记
    查看>>
    Oracle 返回结果集的 存储过程
    查看>>
    Oracle 递归
    查看>>
    Oracle 递归函数与拼接
    查看>>
    oracle 逻辑优化,提升高度,综合SQL上下文进行逻辑优化
    查看>>
    oracle 闪回关闭,关闭闪回即disable flashback的操作步骤
    查看>>
    oracle 限制用户并行,insert /*parallel */ 到不同用户,并行起不来的问题
    查看>>
    oracle--用户,权限,角色的管理
    查看>>
    Oracle-定时任务-JOB
    查看>>
    oracle.dataaccess 连接池,asp.net使用Oracle.DataAccess.dll连接Oracle
    查看>>
    oracle00205报错,Oracle控制文件损坏报错场景
    查看>>
    Oracle10g EM乱码之快速解决
    查看>>
    Oracle10g下载地址--多平台下的32位和64位
    查看>>
    Oracle10g安装了11g的ODAC后,PL/SQL连接提示TNS:无法解析指定的连接标识符
    查看>>
    oracle11g dataguard物理备库搭建(关闭主库cp数据文件到备库)
    查看>>
    Oracle11G基本操作
    查看>>