编辑java程序时,DOS环境下汉字显示乱码,为啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编辑java程序时,DOS环境下汉字显示乱码,为啥?相关的知识,希望对你有一定的参考价值。

出现乱码我想应该是这样的情况
1.你的代码中有汉字,默认情况下都是GB2312码表,如果你将.java文件以UTF-8的编码存储,那么.java文件里的都是UTF-8形式的数据了
2.如果在DOS里出现汉字的话,这个汉字是采用系统默认的也就是GB2312码表进行解码的

.java文件在内存中以二进制数据存在即00101010这种样式,我以UTF-8解码成二进制,则必须以UTF-8编码才能得到我们所能看到的内容, 有时候我们看网页或者一些文件用记事本打开全是乱码,这个就是码表用错了的缘故,有时候我们只需要换换码表,就轻松解决了
参考技术A 你编译的源文件是否使用的gb2312或gbk。
如果不行的话,把你的源文件保存为Unicode编码。
再使用:
Javac -encoding Unicode 你的源文件
编译。 (utf-8好像不可以)
参考技术B 在DOS命令提示行输入chcp 936 按回车键,再重新运行java程序就好了 参考技术C 首先你编译时使用的编码与系统的是否一致,其次系统编码是否支持中文。 参考技术D 不可能的事?

为啥在sql里的汉字在读出数据时却显示问号呢?

就随便print一个汉字的字符串,出来的都是问号,是sql装的问题吗?遮掩的话应该是可以在某个地方调过来的,请教那位高人指点下!

参考技术A 不是SQL装的有问题,只要在插入汉字的时候在前面加一个大写的N就好了,比如

insert a values(N'我是..')

加N代表以Unicode编码储存,这个编码全球通用,所以就不会存在乱码的问题了.
参考技术B 冒号前是标号,也就是标识一个地址的符号。这个地址上存储的指令是nop,也就是一个空操作。
请参考
参考技术C 看看编码,编码应该是不正确! 参考技术D 编码有问题

以上是关于编辑java程序时,DOS环境下汉字显示乱码,为啥?的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu 在英语环境里面 文本文档里的汉字为啥是乱码

为啥WINDOWS下的汉字到了LINUX下乱码了?

editplus为啥编辑汉字出现乱码

软件上的字都无法正常显示了,要不就显示乱码.这是为啥?

DOS下的中文字怎么是乱码?要怎么看怎样的文件?

java 执行dos命令 中文显示乱码 怎么解决