`

“编码 GBK 的不可映射字符”问题的解决

 
阅读更多
这几天做maven,svn和hudson的持续集成,被maven的编译问题整的头大.
    具体情况是这样:
    我所参与的这个项目在平常编译打包时候使用的是maven,当使用maven编译或者打包时,却老是看到后台报错"编码 GBK 的不可映射字符",每次buid的时候都会有这种问题产生.
    刚开始以为是cruiseControl的配置有问题,就找开发要来了maven在命令行下做编译打包的命令:
    mvn package -Dmaven.test.skip=true
    自己跑到命令行上运行了下,一样的报错.
    从开发那边了解到,项目平常打包编译使用的maven2,而且他们平常没遇到这个问题(现在的开发也是半路接手).网上查了下,说是maven2在windows下使用gbk编码,所以会有这个问题.
    从google上查到在pom.xml文件的<project>节点下创建一个一个properties子节点,写入以下内容:
  <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
  </properties>
  不过很杯具,我试了下,不行,问题依旧.这回又把文件改了回去.
  后面发现自己解决不了了.就找开发了,既然他们平常编译打包都正常,肯定有办法的.开发刚开始以为我下载的代码有问题,可能没从svn下载完,我更新了一下,这次所有文件和文件夹都是绿色图标了.这回他编译了下,也失败了.
  从他那边拿过来他本地的源码(先前已提交到了svn服务器上了),拿到我这边来,执行
      mvn package -Dmaven.test.skip=true
    结果能正常编译,于是两个人一起拿beyond compare比较他给的项目的文件和我从svn上下的项目文件,比较了半天,很痛苦地发现,原来两边的文件是一样的,除了从svn上下载的项目文件没有包含target目录外....
    那问题就处在target了,打开他给过来的项目文件夹里面的target目录,发现里面已经有了.class文件,于是把target目录删除,在用maven编译,这回,两边都会报错了.都是那个"编码 GBK 的不可映射字符"问题.
    终于找到解决办法,那就是在pom.xml文件的如下内容中,添加encoding节点:
   
   <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>2.0.2</version>
   <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <!--encoding,就是这个才能解决问题-->
        <encoding>UTF-8</encoding>
    </configuration>
   </plugin>



添加<encoding>UTF-8</encoding>.然后再去编译,先前的报错问题没了.
分享到:
评论

相关推荐

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

    IDEA编码GBK不可映射字符解决方法 IDEA是一款功能强大且广泛应用的集成开发环境(Integrated Development Environment),它提供了大量实用的功能来提高开发效率和代码质量。但是,在使用IDEA时,开发者可能会遇到...

    cxf3.2.0编码GBK的不可映射字符问题

    本篇将深入探讨"cxf3.2.0编码GBK的不可映射字符问题",并提供解决方案。 在Java中,默认的字符编码是UTF-8,而GBK是一个中文常用的编码格式,它包含了更多的中文字符。当XML或者HTTP请求的数据采用GBK编码,而CXF...

    cxf2.7.18编码GBK的不可映射字符问题

    对于提供的压缩包文件“cxf2.7.18编码GBK的不可映射字符问题”,其中可能包含了解决这个问题的具体步骤、配置示例或日志分析。通过查看这些文件,可以更深入地理解问题的细节并找到针对性的解决方案。在处理这类问题...

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

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

    cxf创建客户端出现GBK编码问题解决的jar

    GBK编码是中文字符集的一种,它扩展了GB2312,包含了更多的汉字,但在处理非GBK字符集的数据时可能会引发“不可映射字符”的错误。 Apache CXF是一个开放源码的服务框架,它允许开发人员通过SOAP、RESTful等Web服务...

    cxf创建出现GBK编码问题解决的jar

    cxf创建客户端出现GBK编码问题解决的jar 评分: cxf在创建客户端出现编码GBK-不可映射字符的编码问题解决的jar

    Java乱码问题

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

    cxf创建客户端出现GBK编码问题jar

    最新cxfjar包,开发过程中遇到字符编码gbk不可映射问题

    GBK编码表GBK编码表

    ### GBK编码表知识点解析 #### 一、GBK编码概述 **GBK编码**,全称为“汉字内码扩展规范”,是中国国家技术监督...尽管随着国际化趋势的发展,UTF-8逐渐成为主流编码,但GBK编码依然在特定领域发挥着不可替代的作用。

    字符编码查询之星

    《字符编码查询之星》是一款专为处理字符编码问题设计的实用工具,主要功能在于实现Unicode、UTF-8、GBK和BIG5编码之间的相互转换。在信息化时代,字符编码的兼容性和准确性是数据交换的重要环节,这款软件的出现,...

    utf编码转gbk编码工具

    在计算机世界中,字符编码是处理文本数据的关键环节。UTF-8 和 GBK 是两种广泛使用的...UTF-8 和 GBK 编码的转换工具,如 "Utf2Unicode.exe",在处理中文字符时提供了极大的便利,避免了因编码不兼容引发的诸多问题。

    Java字符集和编码

    因此,深入理解Java中的字符集和编码对于解决这些问题至关重要。 #### 二、基础知识 ##### 1. ASCII编码 ASCII编码(American Standard Code for Information Interchange,美国标准信息交换码)是由美国国家标准...

    字符编码转换.rar

    通过使用“字符编码转换”这个LabVIEW工具,用户可以解决在不同编码格式之间转换文本时遇到的问题,确保信息的准确无误地传递。对于需要处理多种语言文本或者需要跨平台操作的开发者来说,这类工具具有很高的实用...

    Java常见错误分析文档

    **问题描述**:在Hibernate框架中,当找不到指定实体的映射信息时,会抛出此类异常。 **解决方案**: - 检查映射文件是否存在,并且是否位于正确的目录中。 - 确认映射文件中的配置信息正确无误。 ##### 10. ...

    文字编码简介,学字符在内存中的表示

    - 包括33个不可打印的控制字符(从0到31,以及127),以及94个可打印字符(从32到126)。 - 控制字符用于通信协议中的特殊指令,如换行(0x0A)、回车(0x0D)等。 - 可打印字符包括大写英文字母(A-Z)、小写...

    汉字编码问题,GBK,Unicode

    GBK编码范围为0x8140-0xFefe,去除了高位的0x80字位,所有字符都能够一对一映射到Unicode 2.0。 - **GBK特点**: - 向上兼容GB2312; - 扩展了汉字数量,增加了少数民族文字支持。 **GB18030-2000**(GBK2K)...

    GBK 汉字内码扩展规范编码表(二).txt

    GBK编码作为中文信息处理的重要组成部分,在嵌入式开发领域具有不可替代的作用。理解GBK编码的特点、使用方法及其与嵌入式开发的关系对于开发高质量的中文支持产品至关重要。随着技术的发展,虽然新的编码标准不断...

    字符编码转换器(C#)

    然而,ANSI编码并不包含所有可能的Unicode字符,因此在处理多语言或国际化的文本时可能会遇到问题。 相比之下,Unicode是一个广泛接受的标准,它定义了所有已知字符的唯一数字标识,包括各种语言和特殊符号。...

Global site tag (gtag.js) - Google Analytics