zoukankan      html  css  js  c++  java
  • Mysql乱码

    编码

    处理方案:修改client、results、connection为gbk

    这样控制台就不会出现乱码!!!

    1 查看MySQL编码

      SHOW VARIABLES LIKE 'char%';

    因为当初安装时指定了字符集为UTF8,所以所有的编码都是UTF8。

    l  character_set_client:你发送的数据必须与client指定的编码一致!!!

    l  character_set_connection:client向connection负责!

    l  character_set_database:数据库存储数据的编码,由connection向database负责;

    l  character_set_server:MySQL服务器默认编码。创建的数据库在没有指定编码时默认为服务器的编码;

    l  character_set_results:响应的编码,即查询时返回给我们的数据的编码;

    2 控制台编码

    注意,当前我们使用的控制台编码是GBK,如果你插入的数据中存在中文,那么就是GBK编码的,但MySQL会认为你插入的是UTF8编码的数据,所以一定会出现编码。就算插入的数据不会出现问题,但是MySQL发送回来的查询结果也是UTF8的,我们的控制台再当成GBK编码来显示,那么也会出现乱码,处理这一问题的办法是:要么把控制台的编码修改为UTF8,要么把MySQL的client和results修改为GBK。

    我们不能修改控制台的编码,但我们可以修改MySQL的编码:

    l  修改character_set_client变量:set character_set_client=gbk;

    l  修改character_set_results变量:set character_set_results=gbk;

    虽然可以去修改这两个变量,但是在你下一次登录MySQL时这个修改就无效了,因为它只对当前session有效!即只是修改了当前窗口而已!为了处理这一问题,可以到MySQL的安装目录中找到my.ini文件,修改默认编码:

    配置文件路径:D:Program FilesMySQLMySQL Server 5.1 my.ini

    3 怎样才能没有编码错误

    我们只需要让控制台、character_set_client、character_set_result,三者的编码一致即可。

  • 相关阅读:
    Sql Server 邮件日志 操作 IT
    导出Excel IT
    Sqlserver 2005 修改数据库默认排序 IT
    SqlServer 备份数据库语法 IT
    HDFS常用shell命令
    改写UMFPACK算例中的压缩方式(动态)
    umFPACK使用调用(一)
    改写UMFPACK算例中的压缩方式(静态)
    利用C/C++实现从文件读入到子程序中调用返回结果
    改写UMFPACK算例中的压缩方式
  • 原文地址:https://www.cnblogs.com/xlz307/p/3440150.html
Copyright © 2011-2022 走看看