解决java不能输出中文问题
解决java不能输出中文问题
原文地址,不知道为什么不能快捷转发了,只能拷贝下来再发,谢谢作者!
喜闻乐见 今天还是研究HelloWold.java
这个基础的程序,今天继续昨天的研究让中文能够输出。
我开始认为我在UE里面设置保存UTF-8无DOM版的就可以随便输出任意语言了。
然后我就动手试,因为比起HelloWord还有师姐你好我更喜欢我爱中国这四个字。
大神勿喷我真是初学者- . -。
然后我就谨慎的又敲了一次:
public class China
{
public static void main(String[] args)
{
System.out.println(“我爱你中国”);
}
}
第一次编译不通过,因为第三行里面的void main忘写了System的S小写了。。。低级啊TAT我把它们改完后还是通知我:
E:\作品\java基础\Day01>javac China.java
China.java:5: 警告:编码 GBK 的不可映射字符
System.out.println(“鎴戞槸涓浗浜?);
^
China.java:5: 未结束的字符串字面值
System.out.println(“鎴戞槸涓浗浜?);
^
1.错误 1.警告
嘛,于是我开始找解决方法 ,网上查:
由于JDK是国际版的,在编译的时候,如果没有用-encoding参数指定JAVA源程序的编码格式,则javac.exe首先获得操作系统默认采用的编码格式,也即在编译java程序时,若不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放入内存中。
在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的),用专门的Unicode处理类可以对UTF编码进行处理。
解决方法:
1.用记事本将代码保存为ANSI格式在编译。
2.在编译输出中文或者有关于中文的java文件时在cmd中输入:
javac -encoding UTF-8 ***.java
这样就能编译通过了,而且输出也是正常的中文。
————————————————
版权声明:本文为CSDN博主「c374963390」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/c374963390/article/details/84806523