在使用ant编译代码时提示 “编码 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,当然就会出现不兼容的情况。
解决办法是:应该使用-encoding参数指明编码方
式:javac -encoding UTF-8 XX.java,这下没警告了,运行也正确了在JCreator
4中设置:菜单:Configure --> Options --> JDK Tools -->
Compiler,选中<Default>,然后选Edit,Parameters里面,最前面添加:-encoding UTF-8。
Parameters原来的
默认值为:-classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]
修改后为:-encoding UTF-8 -classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]
如是在ant中编译,可在javac命令中加此参数:-encoding UTF-8,写法如下:
<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true">
<compilerarg line="-encoding UTF-8 "/>
<classpath refid="compile.classpath"/>
</javac>
分享到:
相关推荐
IDEA编码GBK不可映射字符解决方法 IDEA是一款功能强大且广泛应用的集成开发环境(Integrated Development Environment),它提供了大量实用的功能来提高开发效率和代码质量。但是,在使用IDEA时,开发者可能会遇到...
本篇将深入探讨"cxf3.2.0编码GBK的不可映射字符问题",并提供解决方案。 在Java中,默认的字符编码是UTF-8,而GBK是一个中文常用的编码格式,它包含了更多的中文字符。当XML或者HTTP请求的数据采用GBK编码,而CXF...
标题中的“cxf2.7.18编码GBK的不可映射字符问题”直指Apache CXF 2.7.18版本在处理GBK编码时遇到了问题。GBK是一种扩展的GB2312编码,包含了更多的汉字,但在与UTF-8或其他非GBK编码交互时,如果处理不当,就会出现...
### ant打包时编码 GBK 的不可映射字符 #### 背景介绍 在软件开发过程中,使用构建工具如Ant来自动化编译、打包等任务是十分常见的做法。但是,在处理包含非ASCII字符(例如中文)的源代码时,可能会遇到字符编码...
在PHP编程中,字符串处理是常见的任务之一,尤其是在处理不同编码格式的数据时。这个压缩包提供的类库专门用于处理GBK和UTF8编码的...正确理解和使用这个类库,能提高你的代码在处理字符串编码问题上的效率和准确性。
GBK编码是中文字符集的一种,它扩展了GB2312,包含了更多的汉字,但在处理非GBK字符集的数据时可能会引发“不可映射字符”的错误。 Apache CXF是一个开放源码的服务框架,它允许开发人员通过SOAP、RESTful等Web服务...
在Java开发过程中,遇到“文件名.java:1: 错误: 编码GBK的不可映射字符”这类问题较为常见,尤其是在处理包含中文字符的代码文件时。这个问题通常出现在Windows操作系统下的开发环境中,由于编码方式不一致导致的...
通过以上介绍可以看出,GBK字符集编码表是一个非常全面且实用的字符集标准,它不仅涵盖了基本的ASCII字符,还增加了大量的中文汉字以及相关的符号,极大地丰富了中文信息处理的能力。无论是对于计算机领域的专业人士...
在JavaScript中,判断一个字符串是否属于GBK编码是一个常见的需求,特别是在处理中文字符集时。GBK是GB2312的扩展,包含了更多的汉字和其他字符,是Windows系统中广泛使用的中文编码标准。本篇将深入探讨如何通过...
java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK ……
而字符集设置则规定了数据库如何存储和编码字符数据。字符集的正确配置至关重要,因为它直接影响到数据的正确性和可读性。 Oracle提供了多种字符集,包括单字节和多字节字符集。单字节字符集如US7ASCII,其中每个...
/以下p,q,e,m可由 本程序的 参数 p0生成,可任意改变 #define VL 8 // p, q 仅在加密程序中用 DWORD p[VL/2] = {0Xb2ab9d39, 0X8e53d98d, 0X77dd8ec1,0X995283d6}; DWORD q[VL/2] = {0Xc7e37a29, 0X7fb7c168, 0Xea61...
1. **兼容性**: GBK兼容GB2312,意味着所有GB2312中的字符在GBK中都有对应的编码。 2. **扩展性**: GBK扩展了GB2312的字符范围,包括了大量的汉字、符号和特殊字符。 3. **应用领域**: 在实际应用中,当需要处理包含...
字符编码是计算机处理文本的基础,不同的编码方式对字符的表示有着不同的规则。本文主要讨论了三种常见的字符编码:GBK、GB2312以及UTF-8。 首先,GBK编码是基于GB2312标准的扩展,兼容GB2312,是中国大陆广泛使用...
而Unicode是一种国际化的编码标准,它旨在容纳世界上所有语言的字符,采用统一的编码方式,避免了不同编码系统之间的不兼容问题。 要在C语言中进行GBK和Unicode之间的转换,我们需要一个转换表,这个表中记录了每个...
在处理字符串编码时,易语言提供了转换不同字符编码的功能,比如从Unicode编码转换到GBK编码。Unicode是一种广泛使用的字符编码标准,它能表示世界上几乎所有的字符,而GBK(国标扩展)是中国大陆使用的一种中文编码...
同时,处理编码错误也很重要,比如遇到未知字符或编码不完整的情况,需要决定如何处理,如替换为问号或其他占位符。 在C语言中,这些操作可能需要编写大量的代码,因此有时会使用第三方库,如iconv或ICU...
GB2312和GBK是中国大陆广泛使用的两个字符编码标准,它们为汉字提供了数字化的表示方式,使得计算机能够处理中文信息。本文将深入探讨这两个字符集,以及它们之间的关联。 GB2312,全称为《信息交换用汉字编码字符...
在处理中文字符时,字符集的选择至关重要,GBK字符集就是针对中文环境设计的一种多字节编码标准。本实践案例主要探讨如何在DB2环境中解决与GBK字符集相关的问题。 GBK字符集是中国大陆地区广泛使用的汉字编码标准,...