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后,显示正确了,为什么啊
我就不清楚了,我测试是对的
追问应该是多读了一个字符
一个中文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里的中文字符编码问题的主要内容,如果未能解决你的问题,请参考以下文章