在Windwos上使用命令窗口操作MySQL数据库时,如果命令窗口的字符编码与数据库不一致时,就会出现中文乱码的情况

比如查询会出现中文乱码,或者插入数据会出现错误“ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1”

mysql> insert into user(name,gender,age) values('张三','男',22);

ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1

mysql> select * from user;

+----+----------+--------+-----+---------------------+

| id | name | gender | age | updated_time |

+----+----------+--------+-----+---------------------+

| 1 | zhangsan | M | 22 | 2018-10-31 17:03:25 |

| 2 | 寮犱笁 | 鐢? | 22 | 2018-11-01 09:01:43 |

+----+----------+--------+-----+---------------------+

2 rows in set (0.00 sec)

这时可以先查看下环境编码配置,我的是utf8,结果是下面这样

mysql> show variables like 'char%';

+--------------------------+---------------------------------------------------------+

| Variable_name | Value |

+--------------------------+---------------------------------------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |

+--------------------------+---------------------------------------------------------+

8 rows in set (0.00 sec)

查看windwos命令窗口的的属性可知,编码格式为GBK且不能更改

这时我们可以使用“set names gbk;”来指定客户端发送给mysql语句时的编码格式,并且可以看到client、connection、results三个变量的编码格式变为了gbk,其它的没有变化

mysql> set names gbk;

Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'char%';

+--------------------------+---------------------------------------------------------+

| Variable_name | Value |

+--------------------------+---------------------------------------------------------+

| character_set_client | gbk |

| character_set_connection | gbk |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | gbk |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |

+--------------------------+---------------------------------------------------------+

8 rows in set (0.00 sec)

再次执行下插入操作没问题了,查询数据中文也不会乱码了

mysql> insert into user(name,gender,age) values('张三','男',22);

Query OK, 1 row affected (0.04 sec)

mysql> select * from user;

+----+----------+--------+-----+---------------------+

| id | name | gender | age | updated_time |

+----+----------+--------+-----+---------------------+

| 1 | zhangsan | M | 22 | 2018-10-31 17:03:25 |

| 2 | 张三 | 男 | 22 | 2018-11-01 09:01:43 |

+----+----------+--------+-----+---------------------+

2 rows in set (0.00 sec)

java中文乱码 寮犱笁_MySQL命令窗口中文乱码或插入中文数据失败相关推荐

  1. java中文乱码 寮犱笁_服务调用参数为中文时出现乱码,如何解决?

    调用代码: String name = "张三"; String[] args1 = new String[] {name}; String str = di.invokeMeth ...

  2. mysql阿里云不显示中文乱码_MySQL命令窗口下中文显示乱码的解决过程

    MySQL命令窗口下中文显示乱码的解决过程 在dos客户端输出窗口中查询表中的数据,还有项目部署到服务器上时前台的页面,中文数据都显示成乱码,如下图所示: 这个问题困扰了我一天,后来解决了才发现原来我 ...

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

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

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

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

  5. mysql查询不出来乱码_MySQL命令行查询乱码解决办法

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

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

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

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

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

  8. linux启动db2的命令窗口_linux下如何启动db2数据库命令窗口

    在 Linux x86 上安装 Oracle 数据库 10g(来自ORACLE网) 原文出处:http://www.oracle.com/technology/global/cn/pub/articl ...

  9. 向数据库插入中文乱码

    又遇到乱码问题,这个编码问题有时候真是让人头大.找了半天都找不出来哪里出了问题,页面和数据库均是使用utf8编码,但是还是出现了乱码.直接在命令行下向数据库插入中文数据时不会出现乱码,在程序中使用代码 ...

最新文章

  1. 与自定义词典 分词_【201110】ElasticSearch实现中文分词查询
  2. [BZOJ 1085] [SCOI2005] 骑士精神 [ IDA* 搜索 ]
  3. redis集群搭建与配置
  4. golang 的 tag
  5. Arturia Pigments for Mac - 虚拟振荡合成器
  6. 在MAC环境下之以太坊(ethereum)开发环境安装
  7. 【转载】身份证号码验证算法
  8. 数学不好是原罪——高等数学笔记(汇总版)
  9. 阿里云OSS配制域名及SSL证书教程
  10. 框架表示法表示台式计算机,框架表示法,frame representation,音标,读音,翻译,英文例句,英语词典...
  11. 机器学习--泛化能力
  12. Python 读取xlsx表格
  13. opengl freeglut flew glut安装配置教程 VS2019 Windows10,无需复制文件
  14. CCNP课堂练习一:详解交换机vlan的介绍及通过交换机从逻辑上划分区域配置
  15. 运放放大倍数计算公式_模电的半壁江山——运算放大器的原理和应用
  16. Facebook 秘钥散列
  17. 阿里内推五面:一面+二面+三面+交叉面+HR面,含答案赠送
  18. Java web期末
  19. 【雷达图像】SAR合成孔径雷达成像及处理含Matlab源码
  20. 谷歌应用商店chrome扩展程序和APP的发布流程

热门文章

  1. 数组以及对象遍历方法对比
  2. SpringBoot+webservice
  3. js计算工时,去周末,设置上下班时间
  4. 如何HttpWebRequest模拟登陆,获取服务端返回Cookie以便登录请求后使用
  5. 基于Linux的USB 主/从设备之间通讯的三种方式
  6. PHP file_get_contents 设置超时时间
  7. 大道至简第四章阅读笔记
  8. Linux 文件权限详解 含义和修改和安全
  9. SSAS系列——【02】多维数据(维度对象)
  10. JS 内置对象DATE的方法