使用cmd命令窗口编译java源程序时出现乱码问题

在中文操作系统中,使用javac HelloWorld来编译java源程序【记事本存储的java源程序默认为UTF-8(带ROM)编码】,默认编码为GBK【在未指定编码参数(encoding)的情况下】,故而在使用GBK编码来编译UTF-8(带ROM)编码的文件时,就会出现乱码。

具体乱码为:UTF-8(带ROM)编码的文件的文件头占三个字节的头信息,按照GBK中文占两个字节,英文占一个字节的特性来解码。

解决方案:

对于非GBK编码及其子集编码(GB2312)的源文件,为其指定编码参数。

编译时写作:javac -encoding "utf-8" HelloWorld.java,此时乱码中不会再出现中文。

但仍然存在乱码问题,这是因为javac编译器只能识别不带ROM的UTF-8编码,而使用记事本保存的源程序自带ROM。

想要去掉ROM,应该使用高集成度的开发工具,保存不带ROM的编码源程序,就不会出现乱码问题。

下面这个图片是我出现的乱码问题:

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值