Java Myeclipse里的中文字符编码问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Myeclipse里的中文字符编码问题相关的知识,希望对你有一定的参考价值。

我的Myeclipse全局字符编码和项目字符编码都是utf8
但是下面的问题出现了
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入学生姓名:");
String name1 = br.readLine(); //这里输入刘谦
System.out.println("刘谦".getBytes().length);//这里输出6
System.out.println(name1.getBytes().length);//这里输出9
System.out.println("刘谦".equals(name1));//这里输出false
求问:如何使 "刘谦".equals(name1)的结果为true。
当编码格式修改为gbk后,显示正确了,为什么啊

参考技术A

我就不清楚了,我测试是对的

追问

应该是多读了一个字符

追答

一个中文2个byte,长度应该是4,你这个问题应该就是你的文字编码的问题。仔细检查哈

参考技术B 你可以提前打开notepad++, 在里面填好你要输入的中文, 然后转码为utf-8无bom格式, 然后在使用时, 复制粘贴过来. 再试一下看看.追问

"刘谦"是最常的6个字节,但是从控制台输入的刘谦读取到的编程了9个字节。

追答

你在Eclipse里面编码肯定都是utf-8.
但是windows的默认编码是GBK.
你得去确认你从console输入的汉字是什么编码.
练习, 最好不用汉字.

追问

嗯,我的Eclipse里面编码都是utf-8,那应该怎么办呢,感觉br.readLine(); 读取到了三个字符,又感觉像是读取到utf-8的"刘谦"(6个字节),然后转成gbk的3个字符,然后再转成utf-8就变成了9个字节。唉,不懂啊。

追答

你可以提前打开notepad++, 在里面填好你要输入的中文, 然后转码为utf-8无bom格式, 然后在使用时, 复制粘贴过来. 再试一下看看.

追问

还是一样的

追答

你的 String name1 = new String("".getBytes(), "utf-8"); 这样初始化看看.

本回答被提问者和网友采纳

myeclipse中怎么修改JAVA文件名称?

我创建了一个java文件 在编写时候,发现需要修改java的文件名称 请问怎么修改啊? 谢谢

参考技术A 如下图,选中要修改的JAVA文件,右键,Refactor->Rename
接着,如下图,输入要修改的名字,然后直接点击Finish即可,这一步的作用是文件名改后,文件里的类名也会修改,做了这一步后会让使用这个类的所用地方类名都替换成新改的名字。

以上是关于Java Myeclipse里的中文字符编码问题的主要内容,如果未能解决你的问题,请参考以下文章

编程题字符集合

java爬虫一段话里的部分字符乱码解决

myeclipse下java文件乱码问题解决

maven异常解决:编码GBK的不可映射字符

JAVA里的编码转换,懂的进来看看!!!!!

myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法)