当向 MySQL 数据库插入一条带有中文的数据形如 insert into employee values(null,'张三','female','1995-10-08','2015-11-12','Sales',2000,'是个好员工!'); 出现乱码时,可以使用语句 show variables like 'character%'; 来查看当前数据库的相关编码集。

从上图中可以看到 MySQL 有六处使用了字符集,分别为:client 、connection、database、results、server 、system。其中与服务器端相关:database、server、system(永远无法修改,就是utf-8);与客户端相关:connection、client、results。

client为客户端使用的字符集。

connection为连接数据库的字符集设置类型,如果程序没有指明连接数据库使用的字符集类型则按照服务器端默认的字符集设置。

database为数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。

results为数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。

server 为服务器安装时指定的默认字符集设定。

system 为数据库系统使用的字符集设定。

了解了上面的信息我们来分析下乱码的原因,问题出在了当前的 CMD 客户端窗口,因为当前的 CMD 客户端输入采用 GBK 编码,而数据库的编码格式为 UTF-8,编码不一致导致了乱码产生。而当前 CMD 客户端的编码格式无法修改,所以只能修改 connection、 client、results 的编码集来告知服务器端当前插入的数据采用 GBK 编码,而服务器的数据库虽然是采用 UTF-8 编码,但却可以识别通知服务器端的 GBK 编码数据并将其自动转换为 UTF-8 进行存储。可以使用如下语句来快速设置与客户端相关的编码集:

set names gbk;

设置完成后即可解决客户端插入数据或显示数据的乱码问题了,但我们马上会发现这种形式的设置只会在当前窗口有效,当窗口关闭后重新打开 CMD 客户端的时候又会出现乱码问题;那么,如何进行一个一劳永逸的设置呢?在 MySQL 的安装目录下有一个 my.ini 配置文件,通过修改这个配置文件可以一劳永逸的解决乱码问题。在这个配置文件中 [mysql] 与客户端配置相关,[mysqld] 与服务器配置相关。默认配置如下:

[mysql]

default-character-set=utf8

[mysqld]

character-set-server=utf8

这时只需要将下的默认编码 default-character-set=utf8 改为 default-character-set=gbk ,重新启动 MySQL 服务即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

jsp 插入mysql乱码_JSP MySQL插入数据时出现中文乱码问题的解决方法相关推荐

  1. MySQL 插入数据时,中文乱码问题的解决

    MySQL 插入数据时,中文乱码问题的解决 参考文章: (1)MySQL 插入数据时,中文乱码问题的解决 (2)https://www.cnblogs.com/sunzn/archive/2013/0 ...

  2. mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法

    mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法 1.先查看库.表.表字符字段的编码格式.MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8 //先查看 ...

  3. SqlYong连接MySql数据时,出现错误代码2003的解决方法

    问题描述: 在我刚刚安装完SqlYong后,准备用SqlYong连接MySql数据时,出现错误代码2003. 解决方法: MySql没有开始,只需要启动MySql即可. (我的电脑右键-管理-服务  ...

  4. java读txt文件乱码_java读取txt文件时出现中文乱码怎么解决

    java读取txt文件时出现中文乱码怎么解决 发布时间:2020-06-25 15:27:31 来源:亿速云 阅读:105 作者:Leah java读取txt文件时出现中文乱码怎么解决?针对这个问题, ...

  5. MySQL 插入数据时,中文乱码???问题的解决

    在终端,mysql -u root -p 登录: show variables like 'character%'; 来查看当前数据库的相关编码集. client 为客户端使用的字符集. connec ...

  6. 爬虫爬取数据时各种中文乱码问题

    学爬虫有一段时间了,期间总是觉得内容编码会傻傻分不清楚,尤其是直接网页拿数据的时候,遇见中文有时候特别麻烦,看大神介绍的东西太多,只记下了处理方式,仅供参考,不对地方欢迎大家指正~~ 一般请求返回内容 ...

  7. unity打包android 乱码,Unity3d发布IOS9应用时出现中文乱码的解决方法

    简单的说,解决方法就是批量修改ngui的label字体,修复ios就删除arial引起的中文乱码 我们来看具体如何操作 static public void yaheifont() { uf = as ...

  8. 计算机硬盘磁道损坏有什么症状,计算机硬盘扇区损坏,读取数据时出现死机现象的解决方法...

    长时间使用计算机硬盘时,许多用户遇到了坏扇区,这将大大降低硬盘的使用寿命. 读取坏扇区数据时,在严重的情况下会冻结甚至崩溃. 如果计算机的硬盘上有坏道,则必须修复逻辑坏道. 如何修复计算机硬盘上的坏道 ...

  9. mysql插入数据时中文乱码_MySQL 插入数据时,中文乱码???问题的解决

    在终端,mysql -u root -p 登录: show variables like 'character%'; 来查看当前数据库的相关编码集. client 为客户端使用的字符集. connec ...

最新文章

  1. Vue教程1 【Vue核心】
  2. 计算机科学专业毕业?这是给你的职业建议(亮点在最后)
  3. 手撸一个npm包,安利一下duiba-sprite
  4. 高清变脸更快更逼真!比GAN更具潜力的可逆生成模型来了 | OpenAI论文+代码
  5. Spring Boot详细学习地址转载
  6. 语言与golang语言运行速度_Golang语言情怀第3期 Go 语言数据类型
  7. 网页打开共享目录_你会做Excel文件目录吗?真的太太太太太简单了!
  8. nssl1446-小智的旅行【dp】
  9. php直接导出csv,PHP百万级数据导出方案(生成器直接输出单个CSV)
  10. python找到文件夹下指定文件_python实现在目录中查找指定文件的方法
  11. yii mysql条件查询_mysql – 在Yii2 find()/ QueryBuilder中使用WHERE条件的SELECT子查询
  12. java guava map_使用googled的guava常见ImmutableMap、Multimap、Sets、Optional、Objects及Preconditions检查等用法...
  13. vim插件介绍(一)之Tabular
  14. 计算机图学与工业设计,工业设计和工程制图的关系
  15. idea社区版本下载
  16. OpenCV C++案例实战五《答题卡识别》
  17. 计算机应用研究所912,中国科学院计算技术研究所硕士生导师章隆兵
  18. 藏拙不如献丑,入门级程序员书法
  19. Linux下搜狗输入法的皮肤的更换
  20. 日期计算:输入某年某月某日,判断这一天是这一年的第几天?

热门文章

  1. 通过Mellanox ConnectX NIC使用XDP加速
  2. Python机器学习:训练Tesseract
  3. 电商商品模块数据设计与关系图
  4. HarmonyOS 点击事件的实现
  5. Python enumerate() 函数的使用
  6. Cannot format given Object as a Date
  7. 微信小程序var,let,const的区别
  8. 网站项目必备——12款白富美型 jQuery 图片轮播插件
  9. 【译】为什么要写super(props)
  10. 2022-2028年中国石油套管行业市场研究及前瞻分析报告