java 编译错误—"编码 GBK 的不可映射字符"
来源:互联网 发布:淘宝更改付款方式 编辑:程序博客网 时间:2024/06/11 22:20
编译出现”编码 GBK 的不可映射字符“的问题:
原因:
这是因为:由于JDK是国际版的,在编译的时候,如果我们没有用-encoding参数指定我们的JAVA源程序的编码格式,则javac.exe首先获得我们操作系统默认采用的编码格式,也即在编译java程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放入内存中。然后,javac把转换后的unicode格式的文件进行编译成.class类文件,此时.class文件是UNICODE编码的,它暂放在内存中,紧接着,JDK将此以UNICODE编码的编译后的class文件保存到我们的操作系统中形成我们见到的.class文件。对我们来说,我们最终获得的.class文件是内容以UNICODE编码格式保存的类文件,它内部包含我们源程序中的中文字符串,只不过此时它己经由file.encoding格式转化为UNICODE格式了。当我们不加设置就编译时,相当于使用了参数:javac -encoding gbk XX.java,当然就会出现不兼容的情况。
UTF-8简介:
是 UNICODE 的一种变长字符编码,即 RFC 3629。这种大字符集可以解决多种语言文本显示问题,从而实现应用国际化和本地化。UTF-8 编码可以通过屏蔽位和移位操作快速读写,排序更加容易。由于UTF-8 是字节顺序无关的,它的字节顺序在所有系统中都是一样的。因此 UTF-8 具有更高的性能。
解决办法1:应该使用-encoding参数指明编码方式:javac -encodig UTF-8 HelloWorld.java (我没有试过)
解决办法2:用记事本打开源代码,另存为的时候,选择ANSI编码保存,就可以通过编译了。(我试过可以)
- java 编译错误—"编码 GBK 的不可映射字符"
- java基础-编译错误-编码GBK的不可映射字符
- maven编译出现编码 gbk 的不可映射字符错误
- javac编译错误: 编码UTF8/GBK的不可映射字符
- javac编译出现”编码 GBK 的不可映射字符“错误
- 解决Dos指令编译.java文件时, java “错误:编码GBK 的不可映射字符”
- 错误: 编码GBK的不可映射字符
- 错误: 编码GBK的不可映射字符
- 错误: 编码GBK的不可映射字符
- 错误 编码GBK的不可映射字符
- 错误: 编码GBK的不可映射字符
- 错误: 编码GBK的不可映射字符
- 错误:编码GBK的不可映射字符
- java编译时 编码gbk的不可映射字符
- java文件编译出现“编码 GBK 的不可映射字符”
- 处理java错误”编码 GBK 的不可映射字符“
- 解决 java “错误:编码GBK 的不可映射字符”
- java “错误:编码GBK 的不可映射字符”解决方法
- 侧信道(Side Channel)攻击对加密Web应用造成的敏感信息泄露
- [最长递增子序列]
- C++中指向对象的常指针和指向常对象的指针
- C++_输入输出方法
- 《请不要辜负这个时代》
- java 编译错误—"编码 GBK 的不可映射字符"
- Evernote升级版本提示2732错误的解决方案
- MySQL 访问控制实现原理
- Swap Nodes in Pairs
- 新一代媒体工具—电子纸 创意设计说明书
- vmware下ubuntu上网问题解决记录(防健忘)
- 周小平:请继续父辈们的梦想
- C++基础之---union联合体大小分析
- 一次谷歌的面试趣事