`
txf2004
  • 浏览: 7134168 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在存在中文的情况下编译出警告-编码 GBK 的不可映射字符

阅读更多
编译时出现警告
当代码中含有中文时编译代码可能会出现:警告:编码 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>,然后选EditParameters里面,最前面添加:-encoding UTF-8Parameters原来的默认值为:-classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]修改后为:-encoding UTF-8 -classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]
分享到:
评论

相关推荐

    IDEA编码GBK不可映射字符解决方法

    这种错误通常是在编译代码时出现的,提示“编码GBK不可映射字符”错误。 解决这种错误的关键是理解IDEA的编码机制和GBK编码的特点。GBK是一种常用的中文编码方案,它主要用于简体中文的编码。然而,GBK编码存在一些...

    ant打包时编码 GBK 的不可映射字符.txt

    本文将详细介绍当使用Ant进行项目打包时,遇到GB2312(GBK)编码下不可映射字符问题的原因及解决方案。 #### 问题现象 在使用Ant构建Java项目的过程中,如果项目中包含了中文注释或其他非ASCII字符,并且项目的...

    Java乱码问题

    在Java开发过程中,遇到“文件名.java:1: 错误: 编码GBK的不可映射字符”这类问题较为常见,尤其是在处理包含中文字符的代码文件时。这个问题通常出现在Windows操作系统下的开发环境中,由于编码方式不一致导致的...

    Big5编码台湾繁体字体和GBK编码简体字体之间相互转换示例代码

    总之,Big5和GBK编码是中文字符在不同地区的常见表示形式,它们之间的转换对于跨区域的信息交流和数据处理至关重要。理解这两种编码的工作原理,以及如何在它们之间进行转换,是IT专业人士必备的知识之一。

    VC++中文繁体、简体(BIG-GBK)编码转换程序.rar

    在IT行业中,尤其是在软件开发领域,字符编码是一个重要的概念,特别是在处理中文字符时。这个"VC++中文繁体、简体(BIG-GBK)编码转换程序"是一个实用工具,它帮助开发者或者用户将简体中文(GB2312编码)的文本...

    unicode与gbk双向转换编码表

    GBK,全称“国标汉字扩展A区”(Guó biāo kē jì zì mǔ kuò zhǎn A qū),是中国大陆的一个字符集,主要用于简体中文。GBK 是 GB2312 的扩展,包含了 GB2312 中的全部汉字,同时增加了许多其他符号和繁体字...

    java字符集编码乱码详解

    **乱码问题** 主要发生在字符集不匹配的情况下。例如,如果一个 UTF-8 编码的文本被误以为是 GBK 编码,则会导致乱码。解决乱码的关键在于确保编码的一致性和正确性。具体做法包括: 1. **确定源文件的编码**: 在 ...

    utf8_gbk.rar_utf8 gbk_乱码修正

    "utf8_gbk.rar_utf8 gbk_乱码修正"这个压缩包文件的标题和描述揭示了其主要内容是关于字符编码转换,具体是将UTF-8编码转换为GBK编码,以解决在特定环境下显示汉字乱码的问题。 UTF-8是一种广泛使用的Unicode字符...

    Java及相关字符集编码问题研究

    例如,当调用`"中文".getBytes("gbk")`时,会得到一个代表“中文”在GBK编码下的字节数组,如`[d6, d0, ce, c4]`。如果编码不匹配,可能会导致乱码。 **2.2 new String()构造函数** 此构造函数用于将字节数组转换...

    Java常见错误分析文档

    **问题描述**:尝试访问一个类时,如果该类在编译时存在但在运行时找不到,则会抛出此类异常。 **解决方案**: - 确认所需的库文件(jar包)存在于classpath中。 - 对于Spring框架,确保spring-framework-2.0.3\lib\...

    Big5码 转 GBK 内码

    Big5码和GBK内码是两种广泛应用于中文字符编码的标准,尤其在传统的繁体中文和简体中文系统中。本项目涉及的是一个VC(Visual C++)工程,其目标是实现Big5码到GBK内码的转换。以下是关于这两个编码系统的详细知识:...

    批量修改文件编码软件

    例如,某些项目可能需要将原本使用GBK编码的文件转换为UTF-8编码,以便在不同操作系统或浏览器中正常显示中文字符。手动逐个修改大量文件显然效率低下,因此出现了专门的批量修改编码软件,如标题所提及的"批量修改...

    汉字库使用测试程序-VS2008编译通过

    在进行此类项目的开发前,了解汉字库的相关背景知识至关重要,包括但不限于汉字编码标准(如GB2312、GBK、Unicode等)、位图操作、字体渲染技术等。同时,由于项目中提到的字库是从网上下载的,所以查找并理解这些...

    编码转换总结 gbk转unicode base64 des md5 crc校验 vc 源码

    在IT领域,编码转换是处理数据时不可或缺的一部分,特别是在多语言环境和网络通信中。本文将深入探讨在VC(Visual C++)环境下实现的几个关键编码转换和校验技术:GBK转Unicode、Base64编码、DES加密、MD5哈希以及...

    iconv字符集转换库

    该库支持大量的字符集,包括但不限于ISO-8859系列、Windows的CP系列、Unicode的UTF系列以及各种国家和地区的特定编码,如简体中文的GB2312、GBK和GB18030,繁体中文的Big5,日文的Shift-JIS等。 使用iconv库时,...

    GB2312转UTF-8(C代码)

    GB2312是中国大陆早期广泛使用的简体中文字符编码,它包含了6763个常用汉字和一些其他符号,主要适用于简体中文环境。每个字符由两个字节表示,前一个字节在0xA1-0xF7之间,后一个字节在0xA1-0xFE之间。 UTF-8是一...

    Keil环境编译汉字字库后,部分汉字显示乱码的补丁包

    汉字在计算机中通常以Unicode编码表示,但在单片机有限的存储空间内,可能需要使用GBK或者GB2312等更节省空间的编码方式。Keil编译器默认可能不支持这些特定的编码格式,因此可能导致编译后的字库在显示时出现乱码。...

    01------helloServlet.rar

    HelloServlet.java:2: 错误: 编码GBK的不可映射字符 解决:Desktop&gt;javac -encoding UTF-8 HelloServlet.java 原因:使用CMD运行java程序的时候,系统默认的编码格式是gbk。而包含中文字符的代码一般是UNICODE格式...

    VS2005下使用unicode编码汉字转换为拼音

    在多字符集的环境中,例如GBK或者BIG5,一个汉字可能有多个不同的编码,而在Unicode编码下,每个汉字都有一个固定的、全球唯一的16位或32位数字表示。因此,使用Unicode编码进行汉字到拼音转换,可以避免因字符集不...

    gb.cpx下载,gb.cap下载

    GB,全称为“国标”,是中国的一种汉字编码标准,如GBK(国标扩展)包含了大量汉字以及一些非汉字字符。在CTeX宏包中,GB编码被用来识别和输出中文字符,尤其是在使用旧的GB2312编码标准时。当LaTeX无法识别或处理GB...

Global site tag (gtag.js) - Google Analytics