在终端,mysql -u root -p 登录;

show variables like 'character%'; 来查看当前数据库的相关编码集。

client 为客户端使用的字符集。
connection 为连接数据库的字符集设置类型,如果程序没有指明连接数据库使用的字符集类型则按照服务器端默认的字符集设置。
database 为数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。
results 为数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。
server 为服务器安装时指定的默认字符集设定。
system 为数据库系统使用的字符集设定。

因为当前的 CMD 客户端输入采用 GBK 编码,而数据库的编码格式为 UTF-8,编码不一致导致了乱码产生.

而服务器的数据库虽然是采用 UTF-8 编码,但却可以识别通知服务器端的 GBK 编码数据并将其自动转换为 UTF-8 进行存储。

设置完成后即可解决客户端插入数据或显示数据的乱码问题了,

可以使用如下语句来快速设置与客户端相关的编码集:
  • set names gbk;

在window下:

在 MySQL 的安装目录下有一个 my.ini 配置文件,通过修改这个配置文件可以一劳永逸的解决乱码问题。在这个配置文件中 [mysql] 与客户端配置相关,[mysqld] 与服务器配置相关。默认配置如下:

  • [mysql]
  • default-character-set=utf8
  • [mysqld]
  • character-set-server=utf8

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

在mac下:

从  /usr/local/mysql/support-files/下拷贝个任意一个.cnf 文件。

然后在/etc下粘贴。并且重命名为my.cnf 。

打开改成:

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8

保存。重启mysql服务即可。

Mysql插入中文变为全问号???的问题 解决方法

String sql = "CREATE TABLE student2(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20),gender VARCHAR(2))  ENGINE=InnoDB DEFAULT CHARSET=utf8";

转载于:https://www.cnblogs.com/linst/p/5865434.html

MySQL 插入数据时,中文乱码???问题的解决相关推荐

  1. Mybatis + Mysql 插入数据时中文乱码问题

    今天碰到一个mybatis向mysql中插入数据时,中文显示为'???'的问题,拿出来说下. 对于数据库操作中出现的中文乱码,一般有两种情况: 数据库本身设置 连接数据库时,jdbc的编码设置 对于第 ...

  2. mybatis mysql 中文乱码_Mybatis + Mysql 插入数据时中文乱码问题

    近日跟朋友一起建立一个项目,用的是spring+mybatis+mysql. 今天碰到一个mybatis向mysql中插入数据时,中文显示为'???'的问题,拿出来说下. 对于数据库操作中出现的中文乱 ...

  3. MySQL 在控制台插入数据时,中文乱码问题的解决

    当向 MySQL 数据库插入一条带有中文的数据形如  insert into employee values(null,'张三','female','1995-10-08','2015-11-12', ...

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

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

  5. C# mysql 插入数据,中文乱码

    用C#操作mysql时, 插入数据中文都是乱码,只显示问号,数据库本身使用的是utf-8字符. 网上百度一下有两种解决办法: 一种是在执行语句前面设置,如:MySQLCommand mCommand ...

  6. java mysql插入数据乱码_java连接mysql插入数据出现中文乱码

    java连接了mysql数据库后,程序行向数据库中插入信息,代码如下: dbhelper boringdb = new dbhelper(); boringdb.connSQL(); String i ...

  7. 解决Java向mysql插入数据时的乱码和时区问题

    解决乱码和时区问题需要在jdbc的链接url上添加参数 jdbc:mysql://mysql-server:3306/dbname?useSSL=false&useUnicode=true&a ...

  8. JDBC插入数据时中文变为问号的解决方法

    出现中文变问号的代码: String url = "jdbc:mysql://localhost:3306/test"; 解决方法: String url = "jdbc ...

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

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

  10. php mysql存中文,PHP+MySQL存储数据常见中文乱码问题小结

    PHP+MySQL存储数据常见中文乱码问题小结 本文实例总结了PHP+MySQL存储数据常见中文乱码问题.分享给大家供大家参考,具体如下: PHP+MySQL出现中文乱码的常见原因: 1. MYSQL ...

最新文章

  1. aac蓝牙编解码协议_蓝牙音频编码哪个音质好?今天我们来逐一解读
  2. Windows7中快捷方式图标打开方式恢复
  3. linux struts2漏洞,重大漏洞预警:Struts 2 远程代码执行漏洞(s2-045\s2-046) (含PoC)
  4. #未能找到类型或命名空间名称_如何变更文件类型为自己所需要的类型(通俗易懂快速上手)...
  5. Android之常用开发框架
  6. matlab晶闸管整流电路,采用Matlab/Simulink对三相桥式全控整流电路的仿真分析
  7. 本地计算机上的服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止 解决办法...
  8. iOS开发中的火星坐标系及各种坐标系转换算法
  9. 基于Keras+YOLOv3的口罩佩戴情况检测系统【超详细!!!保姆级教程】
  10. python 批量打印PDF
  11. Ubuntu18.04 使用gnome-tweak美化系统主题
  12. Array Shrinking(区间DP)
  13. android 获取root权限原理解析,手机如何获得root权限 原理以及作用是什么
  14. 教你如何管理Linux进程和任务
  15. 经验 | 训练多任务学习(Multi-task Learning)方法总结
  16. 想知道有哪些缩小视频大小的软件?这几个压缩软件你该知道
  17. vlookup匹配值不唯一_十大Vlookup常见错误!
  18. 如何对付臭名昭著的 IO 夯?诊断利器来了
  19. 2016.05.04,英语,《Vocabulary Builder》Unit 22
  20. 回到顶部丝滑效果/指定位置下拉丝滑

热门文章

  1. startuml动态模型工具_动态面板模型估计方法简介以及stata应用
  2. html5画图作品,8款最佳HTML5绘图工具
  3. Linux中批量创建空白文件,在Linux中批量创建和修改文件或目录
  4. java 对比工具_Java几款性能分析工具的对比
  5. 华为服务器怎么查看系统日志,华为日志服务器
  6. 链表的代码实现【数据结构F】
  7. UNIX(多线程):24---哪些STL容器是线程安全的
  8. oracle手工收集awr报告_oracle手工生成AWR报告方法记录-阿里云开发者社区
  9. jqery获取每个月天数_三年级《年、月、日》单元重要知识点整理汇总,以及难点题型解析...
  10. Linux加密框架 crypto算法模板 以及CBC算法模板实例