MySQL 插入数据时,中文乱码问题的解决 当向 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 服务即可。

转载于:https://blog.51cto.com/12182612/1963092

mysql插入数据显示中文乱码相关推荐

  1. linux mysql插入中文乱码_解决Linux下Tomcat向MySQL插入数据中文乱码问题

    一.问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码 二.解决办法 1.尝试一 直接在linux上面使用 ...

  2. linux mysql插入数据乱码_解决Linux下Tomcat向MySQL插入数据中文乱码问题

    一.问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码 二.解决办法 1.尝试一 直接在linux上面使用 ...

  3. MySql 插入数据中文乱码

    在数据库连接URL后加上characterEncoding=UTF-8 driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/ssm ...

  4. mysql 插入数据中文乱码问题解决办法

    方 式 一: set names gbk [注:需要改成什么编码格式]; 方式二:[不建议!] 直接修改数据库安装目录里面的my.ini文件的第57行

  5. hibernate插入Mysql数据库出现中文乱码情况从这5个方面解决

    因为有了新电脑所以又要解决乱码问题,在网上找帖子很是头疼,还是自己总结一下比较好. hibernate插入Mysql数据库出现中文乱码情况从这几个方面解决:有了这几方面以后使用mysql的乱码问题就不 ...

  6. mysql设置数据库显示汉字_在CMD中操作mysql数据库出现中文乱码解决方案

    百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 . 其实,只要保证cmd客户端和MySQL两者编码一致即可. ...

  7. win7和mysql乱码,windows本地mysql数据库存入中文乱码

    windows本地mysql数据库存入中文乱码 作者:PHPYuan 时间:2018-07-23 03:41:20 出现的问题: 我这页面存中文到数据库会乱码 我打了断点 中文是传到后台dao层的 然 ...

  8. jaxl php,php往mysql写数据,中文乱码有关问题

    php往mysql写数据,中文乱码问题. 最近做一个聊天的项目,用了jaxl来让xmpp server转发消息给web server.然后webserver会保存消息到本地数据库(mysql). 发现 ...

  9. php mysql存储中文为空_PHP如何解决MySQL存储数据中文乱码

    PHP如何解决MySQL存储数据中文乱码?本文主要介绍了PHP+MySQL存储数据常见中文乱码问题,针对php+mysql常见的中文乱码问题予以总结分析,并给出了解决方法供大家参考.需要的朋友可以参考 ...

最新文章

  1. CSS的元素显示模式(块内元素和行内元素)
  2. 使用t-SNE算法对数据进行降维并可视化实战,与KernalPCA、LLE对比降维可视化的效果
  3. 【Git】Git 修改刚提交的 commit message
  4. arduino使用oled代码_实用!Arduino平台最强大的“显卡”驱动:Adafruit GFX 图形库8000字详细使用指南...
  5. python中的括号不是西文吗_二级Python---python语言的基本语法元素(Day1)
  6. SQL Server 中 with tmp 临时表的用法
  7. python坐标定位_python实现获取屏幕坐标位置值+VBS模拟鼠标操作
  8. iframe在ios设备宽度不能100%
  9. 麦肯锡:数字化转型四步法!
  10. win7备份工具_调解 win7系统一键还原精灵使用的具体方法 -win7系统使用教程
  11. 详细解释JavaScript中三元表达式
  12. NGINX源码之:ngx_bufchain
  13. 2019年安徽省模块七满分多少_2019年安徽中考总分是多少 考试科目及分值
  14. scanf可以输入负数吗_在excel表格中输入负数应该怎样输
  15. fluent对旋转物体的仿真(moving mesh)
  16. 史上最全的CDN内容分发网络实战技巧(网络优化)
  17. SSD: Single Shot MultiBox Detector
  18. UltraEdit 19.10版本花括号自动缩进两空格的解决方法
  19. 港科夜闻|香港科大新研究显示预期接种疫苗和加强针后产生的T细胞免疫屏障将能继续保护人体并减少被Omicron等病毒变异的感染机率...
  20. 手机便签内容怎么分享到微博上?

热门文章

  1. SQL SERVER数据库 “可能发生了架构损坏。请运行DBCC CHECKCATALOG。的错误修复
  2. The Future of Silverlight --December 2, 2010 at 9:00
  3. jQuery使用手册
  4. 建立注册DLL和反注册DLL文件的快捷方式
  5. JAVA学习资源网站
  6. iOS导航栏标题错乱的解决方法
  7. Identity Mappings in Deep Residual Networks
  8. IMI装系统装到一半出错?
  9. Android饼图Pie Chart
  10. 网站的安全证书存在安全问题,无继续浏览按钮