原文地址:www.cnblogs.com/qmfsun/p/4846467.html

MySQL会出现中文乱码的原因不外乎下列几点:
1.server本身设定问题,例如还停留在latin1

2.table的语系设定问题(包含character与collation)

3.客户端程式(例如php)的连线语系设定问题

强烈建议使用utf8,utf8可以兼容世界上所有字符

第二步:使用记事本打开my.ini文件 ,

找到这个地方 看看default-character-set 是不是 utf8不是的话 改为utf8即可!(以前的版本可能没有这句话 直接加上就好了!)

# MySQL client library initialization.
[client]
port=3306
[mysql]
default-character-set=utf8

第三步:在mysql数据库cmd中输入:show variables like'%char%';

第四步:改变原有数据库的编码方式:

set character_set_database=utf8;
set character_set_server=utf8;
set character_set_client=gb2312;
set character_set_connection=gb2312;

第五步:改变后的编码方式:

第六步:查看查询结果:

第六步:插入中文数据试试!ok!是可以插进去的!

第七步:解决select * from table时的乱码,其实只用到第四部和第七部

把上面的编码方式改变:

set character_set_results=gb2312; 就可以正常显示!

关于GBK、GB2312、UTF8

UTF- 8:Unicode Transformation Format-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。

GBK是国家标准GB2312基础上扩容后兼容GB2312的标准。GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBD大。

GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换:
GBK、GB2312--Unicode--UTF8
UTF8--Unicode--GBK、GB2312

对于一个网站、论坛来说,如果英文字符较多,则建议使用UTF-8节省空间。不过现在很多论坛的插件一般只支持GBK。

GB2312是GBK的子集,GBK是GB18030的子集
GBK是包括中日韩字符的大字符集合
如果是中文的网站 推荐GB2312 GBK有时还是有点问题
为了避免所有乱码问题,应该采用UTF-8,将来要支持国际化也非常方便
UTF-8可以看作是大字符集,它包含了大部分文字的编码。
使用UTF-8的一个好处是其他地区的用户(如香港台湾)无需安装简体中文支持就能正常观看你的文字而不会出现乱码。

gb2312是简体中文的码
gbk支持简体中文及繁体中文
big5支持繁体中文
utf-8支持几乎所有字符

首先分析乱码的情况

MySQL中涉及的几个字符集

character-set-server/default-character-set:服务器字符集,默认情况下所采用的。
character-set-database:数据库字符集。
character-set-table:数据库表字符集。
优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。
character-set-client:客户端的字符集。客户端默认字符集。当客户端向服务器发送请求时,请求以该字符集进行编码。
character-set-results:结果字符集。服务器向客户端返回结果或者信息时,结果以该字符集进行编码。
在客户端,如果没有定义character-set-results,则采用character-set-client字符集作为默认的字符集。所以只需要设置character-set-client字符集。

要处理中文,则可以将character-set-server和character-set-client均设置为GB2312,如果要同时处理多国语言,则设置为UTF8。

关于MySQL的中文问题

解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集。
character_set_client:客户端的字符集。
character_set_results:结果字符集。
character_set_connection:连接字符集。
设置这三个系统参数通过向MySQL发送语句:set names gb2312

MySQL命令行中文显示乱码解决相关推荐

  1. cmd命令行中文显示乱码解决办法

    1在执行bat脚本时候发现,cmd执行脚本为乱码 2根据网上修改的cmd的utf-8的方法,进行修改后还是无法解决,最后查资料txt的编码和cmd编码不一致导致的,txt的编码默认为UTF-8,CMD ...

  2. evince命令 pdf中文显示乱码解决办法

    evince命令 pdf中文显示乱码解决办法: wget  http://poppler.freedesktop.org/poppler-data-0.2.1.tar.gz   tar xzvf po ...

  3. php mysql 中文_PHP连接MySQL查询结果中文显示乱码解决方法

    我们首先假设数据库中采用的编码为UTF-8 这时我们在PHP页面中应当首先添加 此处charset的值utf-8必须与文件保存时的编码类型一样 之后在数据库查询前添加 mysql_query(&quo ...

  4. 【java基础知识】java打包后再dos命令行中文显示乱码的问题

    参考:https://jingyan.baidu.com/article/d621e8da585c772864913f60.html --------------------------------- ...

  5. SSH,telnet终端中文显示乱码解决办法

    SSH,telnet终端中文显示乱码解决办法 vi /etc/sysconfig/i18n 将内容改为 LANG="zh_CN.GB18030" LANGUAGE="zh ...

  6. .sql导入中文显示乱码解决方法

    .sql导入中文显示乱码解决方法 参考文章: (1).sql导入中文显示乱码解决方法 (2)https://www.cnblogs.com/fnote/p/8051682.html 备忘一下.

  7. 取出Cookie中的中文显示乱码解决方法。经验证第三种方法有效。

    取出Cookie中的中文显示乱码解决方法 HttpUtility.UrlEncode(Response.Cookies[ "newcookie "].Values);  HttpU ...

  8. Linux麒麟系统中文乱码,ubuntu麒麟系统tomcat中文乱码怎么办?ubuntu tomcat中文显示乱码解决方法...

    在ubuntu麒麟系统中安装tomcat后,用户在搭建Demo程序的过程中有遇到tomcat中文显示乱码的情况,一般乱码都是因为编码问题导致的,而如果大家的编码设置是正确的话就是下面的原因导致的,遇到 ...

  9. QT中文显示乱码解决

    问题如下: 1.中文显示乱码 2.数据库连接不上 问题一:但是如果我们的软件只运行在中文系统下,最简单的方法:在main函数中调用QTextCodec::setCodecForTr( QTextCod ...

最新文章

  1. linux下几种文件系统的测试比较
  2. Channel延续篇
  3. kill bill 杀死比尔盖茨比尔克林顿在人心中的位置..
  4. 对于出差的看法_我对于挑选背包的一些小建议
  5. 静态链接库与动态链接库的区别(Sqlite\Visual Studio 2017)
  6. Oracle查询笔记
  7. Atcoder ARC101 E 树dp
  8. Matlab--三维散点插值成曲面
  9. oracle如何检索文件,从Oracle数据库检索文件的示例
  10. 【ACL2019】轻松了解张岳实验室的六篇paper
  11. servlet 技术详解
  12. 保研之路——中山大学数据科学与计算机学院直硕夏令营
  13. 小红书 标签 HTML5,牛宝-手机客户端
  14. 人脸识别关键技术及原理
  15. echarts画工作流(流程图)
  16. 企业级自动化运维工具Ansible详解(上)
  17. JavaEE企业级实战项目 智牛股第六天 股票交易过程
  18. java ppt转图片 解决图片不清晰问题,Java PowerPoint转图片,使用java操作ppt转图片
  19. 安全狗下一代网站防篡改产品全面支持容器防篡改
  20. 神级:程序员面试、算法研究、编程艺术、红黑树、机器学习5大经典原创系列集锦与总结

热门文章

  1. 运动目标识别系统Matlab仿真——附上程序
  2. ping 快ping
  3. matlab开方分布上分位点,概率密度分布函数和上分位点的数值计算
  4. rm——删除文件、文件夹
  5. Avalonia UI 简介
  6. 百度图神经网络7日打卡营--DAY01前半部分 总结
  7. 【嵌入式小技巧】STM32 实现 SEGGER RTT 打印(超详细)
  8. 碳中和推动第四次工业革命
  9. ASEMI快恢复二极管SFP3006和瞬态二极管一样吗?SFP3006和TVS能否代换
  10. IOS开发 汉字转拼音 把用户名按照姓名首字母进行排序