这是因为:由于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]
分享到:
相关推荐
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字符(例如中文)的源代码时,可能会遇到字符编码...
GBK编码是中文字符集的一种,它扩展了GB2312,包含了更多的汉字,但在处理非GBK字符集的数据时可能会引发“不可映射字符”的错误。 Apache CXF是一个开放源码的服务框架,它允许开发人员通过SOAP、RESTful等Web服务...
在Java开发过程中,遇到“文件名.java:1: 错误: 编码GBK的不可映射字符”这类问题较为常见,尤其是在处理包含中文字符的代码文件时。这个问题通常出现在Windows操作系统下的开发环境中,由于编码方式不一致导致的...
### GBK编码表知识点解析 #### 一、GBK编码概述 **GBK编码**,全称为“汉字内码扩展规范”,是中国国家技术监督...尽管随着国际化趋势的发展,UTF-8逐渐成为主流编码,但GBK编码依然在特定领域发挥着不可替代的作用。
最新cxfjar包,开发过程中遇到字符编码gbk不可映射问题
cxf创建客户端出现GBK编码问题解决的jar 评分: cxf在创建客户端出现编码GBK-不可映射字符的编码问题解决的jar
字符编码是一种规则,它将字符(如字母、数字、符号)映射为特定的数字或二进制序列,以便计算机能够存储和处理这些字符。Unicode是一个全球通用的字符集标准,包含了世界上几乎所有的文字系统,使用统一的编码方式...
GBK 使用双字节编码,最多可表示 20,902 个不同的字符,覆盖了大部分中文字符集。 " Utf2Unicode.exe " 这个文件名表明它是一个可执行程序,可能是用于进行编码转换的工具。从标题和描述来看,这个工具的功能是将...
**问题描述**:在Hibernate框架中,当找不到指定实体的映射信息时,会抛出此类异常。 **解决方案**: - 检查映射文件是否存在,并且是否位于正确的目录中。 - 确认映射文件中的配置信息正确无误。 ##### 10. ...
1. **字符编码**:字符编码是将字符映射到二进制数字的过程,以便计算机能够理解和处理文字。常见的字符编码有ASCII、GB2312、GBK、Big5、Unicode(UCS)和UTF系列等。 2. **ASCII编码**:ASCII是最基础的字符编码...
GBK编码作为中文信息处理的重要组成部分,在嵌入式开发领域具有不可替代的作用。理解GBK编码的特点、使用方法及其与嵌入式开发的关系对于开发高质量的中文支持产品至关重要。随着技术的发展,虽然新的编码标准不断...
UTF-8的基本原理是根据Unicode字符的范围,将其映射成不同长度的编码,具体规则如下: - 每个英文字母、数字占用1个字节; - 泛欧语系、斯拉夫语字母占用2个字节; - 汉字占用3个字节。 这种编码方式的优点在于它...
- 包括33个不可打印的控制字符(从0到31,以及127),以及94个可打印字符(从32到126)。 - 控制字符用于通信协议中的特殊指令,如换行(0x0A)、回车(0x0D)等。 - 可打印字符包括大写英文字母(A-Z)、小写...
转换过程中可能遇到GBK中特有的字符,需要正确地映射到Unicode。 4. **UTF-8转CP936**: 转换为CP966时,需要把UTF-8编码的字符串解码成Unicode,然后查找每个字符在GBK中的对应位置,最后按照GBK编码规则重新编码...
Unicode最常见的实现是UTF-8,它是一种可变长度的编码,可以表示从基本拉丁字母到中文、日文等复杂字符的所有字符。Unicode的优势在于它的兼容性和扩展性,使得处理多种语言的文本变得更加简单。 在C#中,我们可以...