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,三者的编码一致即可。

  • 相关阅读:
    使用awrrpt.sql 生成AWR报告
    oracle简单物化视图
    oracle 查询重复内容
    windows server 2008 服务器 oracle11g降级oracle10g遇到的种种问题
    简单js条码生成器
    tomcat服务器禁用非post、get方法的坑
    委托和事件
    消息队列(Message Queue)简介及其使用
    架构师修炼之道
    Xcode7 使用NSurl发送HTTP请求报错
  • 原文地址:https://www.cnblogs.com/xlz307/p/3440150.html
Copyright © 2011-2022 走看看