【错误: 编码GBK的不可映射字符】
自学了差不多有一个月了吧,今天第一次看见这个报错,一直用着Notepad++写java,但每次都是手动在文档新建txt文件再改名字的,今天手贱用了Notepad++来新建,谁知道他新建的文档的编码默认了是UTF-8(无BOM)D的,所以在编译的时候出现了--->错误: 编码GBK的不可映射字符。解决办法有几种:第一种:就是在Notepad++的【格式】->【转为ANSI编码格式】,然后在【设置】-->【首选项】-->【新建】-->设置默认ANSI以后就可以用Notepad++新建了。
1
2
3
4
4
5
第二种:手动,右击出问题的*.java文本【编辑】另存为,把“编码”改为“ANSI”就编译通过了。
1
2
第三种:在DOS命令里使用-encoding参数指明编码方式:javac -encoding UTF-8 *.java(这个方法有些情况不行) 。
其他说明:
ANSI:美国国家标准协会,系统预设的标准文字储存格式。简体中文编码GB2312,实际上它是ANSI的一个代码页936
UTF-8:通用字集转换格式,这是为传输而设计的编码,2进制,以8位为单元对Unicode进行编码 ,如果使用只能在同类位元组内支持8个位元的重要资料一类的旧式传输媒体,可选择UTF-8格式。
在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的),用专门的Unicode处理类可以对UTF编码进行处理。
|
|