• 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]用于提取组内最新数据,左连接,内连接,not exist三种方案中,到底谁最快?
    Oracle数据库访问客户端 sqldeveloper-19.2.1.247.2212-x64 下载
    《木兰辞》中最精彩的六句
    SqlComparison
    别让情绪扰乱心绪
    50年内神秘消失的恒星
    java命名总结
    针对nginx,来具体聊聊正向代理与反向代理 (转载)
    Nginx可以做什么?(转载)
  • 原文地址:https://www.cnblogs.com/xlz307/p/3440150.html
Copyright © 2020-2023  润新知