MySQL会出现中文乱码的原因不外乎下列几点:

1.server本身设定问题,例如还停留在latin1

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

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

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

第一步:找到安装mysql的目录找到 my.ini 文件;

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

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

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

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

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

第六步:查看查询结果:

第六步:插入中文数据试试!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查询不出来乱码_MySQL命令行查询乱码解决办法相关推荐

  1. linux mysql 命令行查询 乱码_MySQL命令行查询乱码解决方法

    MySQL会出现中文乱码的原因不外乎下列几点: 1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如 ...

  2. mysql select乱码_MySQL命令行查询乱码解决方法:

    MySQL会出现中文乱码的原因不外乎下列几点: 1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如 ...

  3. mysql命令行显示乱码_mysql命令行显示乱码的解决方法

    我就废话不多说了,大家还是直接看代码吧~create or replace function aa1(a1 integer[],a2 bigint) returns void AS $$declare ...

  4. cmd命令行mysql乱码解决方法_mysql命令行显示乱码的解决方法

    mysql命令行显示乱码的解决方法:1.打开my.ini配置文件:2.修改配置[default-character-set=utf8]:3.改变数据库的编码方式,如[set character_set ...

  5. mysql 设置字段自动增长值_mysql命令行脚本

    命令行连接 在工作中主要使用命令操作方式,要求熟练编写 打开终端,运行命令 mysql -uroot -p回车后输入密码,当前设置的密码为mysql 连接成功后如下图 退出登录 quit 和 exit ...

  6. 查询公网出口ip, 命令行查询公网出口ip

    1. 浏览器:http://api.online-service.vip/ip/me 2. 命令行: curl api.online-service.vip/ip/me

  7. 关于将mac升级到macOS Sierra之后 Sublime Text无法在命令行执行subl .解决办法

    今天把mac 升级到了最新的操作系统之后出现了一系列的事故,Sublime Text就是其中之一,发现升级系统之后Sublime Text无法在命令行执行subl . 我的操作步骤如下: 首先把文件拷 ...

  8. mysql导入csv数据慢_mysql导入数据过慢 解决办法

    mysql导入数据过慢 解决方法 mysql中用 mysql->use test; mysql->set names utf8; mysql->source D:/ceshi.sql ...

  9. mysql 按条件导出数据_mysql命令行按任意查询条件导出指定数据

    按条件导出mysql表的数据: theyestoday=`date -d "-1 day" +%y%m%d`  #前天日期 #将查询语句写入sql文件 echo "SEL ...

最新文章

  1. 多少行数_技术分享 | MySQL:查询字段数量多少对查询效率的影响
  2. 程序员们,今天就让她陪你们放松一下吧。她还有大宝剑哦。【原创】
  3. C malloc 用法
  4. php 多叉树实现,一个简单的多叉树C++实现
  5. Spring保存文件到MongoDB之GridFS支持
  6. python 正则表达式 re findall 返回能匹配的字符串
  7. 部署WEB项目到服务器(三)安装mysql到linux服务器(Ubuntu)详解
  8. python的作者为什么要创造python_为什么要学习Python?老男孩Python开发
  9. 使用Go语言创建静态文件服务器
  10. 数据结构—链表—单链表应用-增序排列节点
  11. 项目实训第二周(车道线检测)
  12. Java笔记(1)黑马刘意_Java入门_2019_idea版
  13. Friendster,linkedin,orkut,liring对SNS的求索
  14. 如何优雅的进行W10远程控制
  15. ApacheCN 翻译/校对/笔记整理活动进度公告 2019.10.18
  16. 中国电信物联网平台入门学习笔记7:NB-IOT信号如何检测
  17. 带头节点 (非头指针) 双向链表 (doubly linked list)
  18. Mac系统如何显示隐藏文件
  19. natapp自动获取免费的动态端口域名
  20. 转载-工业界视频理解解决方案大汇总(人工智能前沿讲习)

热门文章

  1. 移动前端不得不了解的HTML5 head 头标签(2016最新版)
  2. Linux RocketMQ安装
  3. 英特尔第11代处理器(Intel Tiger Lake) 安装Windows 10时找不到驱动器
  4. 批量修改外业精灵拍摄照片名称
  5. Simpack 2020.1 一种报错的解决方法No license for simat...
  6. 一个mac地址对应多个ip_子接口的配置(一个网卡配置多个ip地址)
  7. react native 0.44.3 ios webview 102 error
  8. 如何一步开启容器时代?青云QingCloud有话要说
  9. android蓝牙耳机接入,Android跟蓝牙耳机建立连接有两种方式
  10. Linux系统安装教程_闲情偶寄