Java 源程序在 Windows Cmd 中编译出现 "编码GBK的不可映射字符" 错误

前提:Java 环境已经配置完好,且 Windows Cmd 可以正确的显示中文字符。如下图,

 

如果源代码中,不加任何与中文有关的字符,如下

// file name: HelloWorld.java
class HelloWorld
{
	public static void main(String[] args)
	{
		System.out.println("Hello,Welcome to Java World!");
	}
}

那么,编译之后则会出现如下的正确结果,

编译通过,没有任何问题。

如果源代码中,加入了中文字符,如下是在注释部分和输出内容里都加入了中文字符,

// 文件名为 HelloWorld.java
// 测试 Windows Cmd 编译出现 "编码'GBK'不可映射字符" 的错误.
class HelloWorld
{
	public static void main(String[] args)
	{
		System.out.println("Hello,Welcome to Java World!我很好,朋友!");
	}
}

那么,编译之后则会出现如下的结果,

编译不通过,出现错误 "编码GBK的不可映射字符"。注释部分和内容部分的中文字符都出现了错误。

 

要解决这个问题,只需要在编译的时候,增加一个 "-encoding UTF-8" 参数就可以了。

命令:

javac -encoding UTF-8 HelloWorld.java

或者

javac -encoding UTF-8 -d . HelloWorld.java

Over!

猜你喜欢

转载自blog.csdn.net/PursueLuo/article/details/81982385
今日推荐