Java乱码问题

起因

问题一:Java文件中含有中文,在编译时报错

源文件中存在中文(注释中的中文也会影响),使得编译过不去。


问题二:Java文件中含有中文,在运行时出现乱码

还未解决

解决方法

原因

先要理解Java的编译规则

1.由于JDK是国际版在编译的时候,如果我们没有用-encoding参数指定我们的JAVA源程序的编码格式,则javac.exe首先获得我们操作系统默认采用的编码格式.(DOS输入chcp ,可以得到操作系统的代码页信息),


2. 然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放入内存中。

3. 紧接着,JDK将此以UNICODE编码的编译后的class文件保存到我们的操作系统中形成我们见到的.class文件。

当我们不加设置就编译时,相当于使用了参数:javac -encoding gbk XX.java,当然就会出现不兼容的情况。

不兼容的原因操作系统为GBK,Java编译为Unicode,因而在读取文件时会由于读取文件时的编码方式不一样而导致中文编译输出时出现乱码。

解决方法1

更改java编译时的编码。统一成utf-8

 

 
posted @   精通+1  阅读(309)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示