用windows学习java编程的小伙伴们想必都知道jdk,其中学习java最原始而且精简的方式就是用notepadd++或者其他文本编辑器编辑代码后,放到cmd下用jdk的javac和java命令进行编译执行。然而你可能会遇到这样的问题————中文乱码。以下基于中文版jdk进行问题解决方案讲解,英文版一样适用
工具/原料
1
windows电脑一个
2
已经配置好的jdk
方法/步骤
1
错误代码如下:Example9_18.java:7:(编码GBK的不可映射字符)出现下面这个错误的原因是因为jdk内部使用的是UTF-8,而windows中文操作系统默认使用的GBK字符编码。编码不一致时,java无法正常解析文本中的中文字符。办法如下:
2
1.确定你保存文本时采用的是UTF-8编码,例如notepad++编辑器。可以这样查看
3
2.右键“我的电脑”-->点击“属性”-->点击”高级系统设置”-->“点击环境变量”,在系统变量中新增一个环境变量名JAVA_TOOL_OPTIONS,然后填值,中文版jdk设置其值为-Dfile.encoding=UTF-8 -Duser.language=en,英文版jdk设置其值为-Dfile.encoding=UTF-8。编辑完后一路确定就好了。重启cmd,执行javac你会看到如最后一幅图的样子,这样就成功了,如果不成功青检查那个步骤错了。
讲解
1
JAVA_TOOL_OPTIONS是jdk在运行前会读取的一个环境变量,里面可以指定jdk的一些选项,其中-Dfile.encoding=UTF-8是设置读取文件的编码为UTF-8。而-Duser.language=en是将jdk语言调为英文版。至于为什么中文版要调回英文版,是因为:中文版jdk在切换文件编码文utf-8号,编译java时不出错还好,以出错,错误信息的中文就会乱码,切换回英文之后就可以显示英文的错误信息了。
2
效果如图:虽然解决方案不甚完美,但是我觉得还是挺实用的。
注意事项
新手同学操作时,对于代码能复制就不手打,需要手打时注意不要写错
上一篇:什锦浇汁鱼,汤汁拌饭,营养又好吃
下一篇:星际战甲扫描仪怎么获得