解决MySQL中UTF-8编码的数据在命令行显示乱码
来源:互联网 发布:无锡华云数据面试 编辑:程序博客网 时间:2024/05/16 07:33
测试环境信息
OS : windows 10 专业版 64位 14393
MySQL : MySQL Server 5.5 64位
先来查询一下自己系统上MySQL数据库的编码情况,输入以下命令
从这里可以知道mysql数据库已经被设置为utf-8编码方式。
示例
我通过Navicat工具创建一个测试数据库 Test,保证数据库、数据表、数据库文件都是UTF8-编码方式。
我们再来创建一个student表,表结构如下:
在Navicat工具里为student表插入两条信息
然后我们在Navicat工具里通过命令行窗口查询student表的建表信息和数据
我们再通过windows的cmd命令行访问student表
现在改从cmd命令行插入数据:
但直接在cmd中输入包含中文的insert语句时,mysql会报错(原因等会再说)
那就先写好一个sql脚本,再通过source命令导入就不会报错了
以上的案例估计就是大家经常会遇上的中文乱码问题了。
为什么会出现中文乱码呢?
这是因为Windows的CMD默认编码是GBK,MySQL里面是按照UTF-8编码存储数据的,所以CMD不支持自然就乱码了。而刚才我们使用到的Navicat工具,由于它本身的编码被设置为utf-8,所以我们的各种操作都能正常进行。
解决方案
在输入SQL语句前先设置编码:set names gbk ,再输入SQL。
为什么这样设置就能正常显示utf-8编码的数据呢?
请看图:
可以看到,client,connection和result的编码已经设置为gbk了,但server,database,system的编码还是utf-8!这就是说,虽然数据是使用utf-8编码存储的,但是客户端以及返回的结果集是gbk的,而此时cmd窗口的编码正好是gbk,因此该结果集能正确显示了。
阅读全文
0 0
- 解决MySQL中UTF-8编码的数据在命令行显示乱码
- 解决MySQL中UTF-8编码的数据在命令行显示乱码
- MySQL中UTF-8编码的数据在CMD命令行显示乱码解决方案
- MySql中UTF-8编码的数据在CMD窗口显示乱码的解决方法
- 解决:SecureCRT在Linux下vim显示utf-8编码的文件乱码
- cmd取UTF-8编码的数据显示乱码
- cmd取UTF-8编码的数据显示乱码
- cmd取UTF-8编码的数据显示乱码
- 解决mysql命令行中显示中文乱码
- 用外部程序添加的UTF-8编码的Web窗体在ASP.NET中显示乱码的问题的解决
- UTF-8字符在WindowsPhone的WebBrowser控件中显示(解决乱码)
- 关于在MySQL 、 VC、 JSP 中使用UTF-8解决中文生僻字乱码的问题
- mysql 数据库编码是UTF-8 如何解决乱码问题
- 22-EditPlus设置html文档的编码方式为utf-8,显示为乱码的解决
- MySQL中UTF8编码的数据在cmd下乱码
- mysql utf-8乱码的解决
- MySQL在命令行显示乱码?
- 解决UTF-8编码的CSV文件在MICROSOFT EXCEL打开是中文乱码的方法
- ApplicationContext读取xml配置文件 报错
- LINUX中操作命令
- springboot实战之读取配置文件
- 144. Binary Tree Preorder Traversal(JAVA)
- Java中Unsafe类详解
- 解决MySQL中UTF-8编码的数据在命令行显示乱码
- python os.path模块常用方法详解
- 高通ar,unity实现3D物体识别,图片识别
- 程序员职业规划
- h5页面点击按钮,触发手机自带的发短信
- CentOS安装Qt编译错误以及无法调试的问题解决( /usr/bin/ld:cannot find –lGL 和 Debugginghas failed)
- banner轮播图
- OpenCV实践之路——Hough变换检测猫眼
- 有符号类型数据带来的原码、反码、补码思考