今天准备在DOS下操作mysql数据库,往表格中插入数据的时候中文乱码。我的数据库和表格都是utf8格式的。
我的mysql是在文本中提前准备好的,是utf8编码格式,然后复制,往DOS里粘贴,就变成乱码了。我试过将dos编码页的格式改成utf8格式,应该是可以了,但是每次粘贴中文的时候都显示不完整,造成了类似乱码的现象,也就导致数据插不进去,有人说先最小化再最大化,确实那样可以,但我是做插入数据,可能都分了好几行,我一粘贴,然后就报错了
大神们,帮帮小弟吧!
没人吗??
最小化后再打开,就变成这样了,但我有这些代码,需要一口气运行
试一下在mysql编辑输入 set names gbk
可以参考这篇文章http://blog.csdn.net/wzwsj1986/article/details/1723658
命令行客户端使用的是GBK编码,在无论你的表是什么编码,你必须声明客户端是GBK编码的,也就是set names gbk;
试一下在mysql编辑输入 set names gbk
可以参考这篇文章http://blog.csdn.net/wzwsj1986/article/details/1723658
命令行客户端使用的是GBK编码,在无论你的表是什么编码,你必须声明客户端是GBK编码的,也就是set names gbk;
就这么沉了吗??
“我的mysql是在文本中提前准备好的,是utf8编码格式,然后复制,往DOS里粘贴,就变成乱码了”
我记得看过一篇博客,说的是Windows的自带的文本编辑器的utf8编码是有问题的,好像是开头的时候会做些什么处理,建议你用别的编辑器来生成sql语句,再在DOS下测试。。。。。
如何在DOS窗口中显示UTF-8字符
在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。
如果想正确显示UTF-8字符,可以按照以下步骤操作:
1、打开CMD.exe命令行窗口
2、通过 chcp命令改变代码页,UTF-8的代码页为65001
chcp 65001
执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。
3、修改窗口属性,改变字体
在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。
这时使用type命令就可以显示UTF-8文本文件的内容了:
type filename.txt
4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。
看看有多复杂!
你已经把 SQL 指令写到文件里,那么
mysql>\. 文件名
不就执行了吗?何必复制粘贴
如何在DOS窗口中显示UTF-8字符
在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。
如果想正确显示UTF-8字符,可以按照以下步骤操作:
1、打开CMD.exe命令行窗口
2、通过 chcp命令改变代码页,UTF-8的代码页为65001
chcp 65001
执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。
3、修改窗口属性,改变字体
在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。
这时使用type命令就可以显示UTF-8文本文件的内容了:
type filename.txt
4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。
看看有多复杂!
你已经把 SQL 指令写到文件里,那么
mysql>\. 文件名
不就执行了吗?何必复制粘贴
“我的mysql是在文本中提前准备好的,是utf8编码格式,然后复制,往DOS里粘贴,就变成乱码了”
我记得看过一篇博客,说的是Windows的自带的文本编辑器的utf8编码是有问题的,好像是开头的时候会做些什么处理,建议你用别的编辑器来生成sql语句,再在DOS下测试。。。。。
命令窗口是远古时代遗留的东西,不能适应现代的环境是一件很正常的事情
你也知道修改命令窗口的字符集是多么的繁琐,那么你就该去适应他,而不是让他去适应你
一条 set names gbk 指令就可解决的问题,你却非要莫名其妙的用什么 utf-8
再说 MySQL 客户端工具有很多,干嘛非要在 cmd 上吊死呢?
命令窗口是远古时代遗留的东西,不能适应现代的环境是一件很正常的事情
你也知道修改命令窗口的字符集是多么的繁琐,那么你就该去适应他,而不是让他去适应你
一条 set names gbk 指令就可解决的问题,你却非要莫名其妙的用什么 utf-8
再说 MySQL 客户端工具有很多,干嘛非要在 cmd 上吊死呢?