转载: http://qiang106.iteye.com/blog/526326
今天接手一个公司的老项目,刚从CVS上check out后用Ant Build的时候总是报“警告:“编码 UTF8
的不可映射字符”。看了下都是代码中的中文注释,因为我的Eclipse默认采用UTF-8的编码,而这个项目以前是用的GBK,改了一下项目的
properties,注释在代码中能正常显示了,但是Build的时候还是会报这个问题,想想以前刚学Java的时候也有见过这样的错误,手动编译
class的时候也有可有出现这种情况,那就在javac后面加一个编码参数,也就是java encoding XXX
x.java就可以了。这是因为编译的时候编码跟文件存储的编码方式不一样造成的,在网上找了些资料,有说在Ant的build.xml中加一
行<compilerarg line="-encoding XXX "/>
到<javac>,XXX就是希望使用的何中编码方式来编译,也就是给Javac添加一个compilerarg编译参数,实际效果就好像
javac -encoding XXX X.java,指定了编码方式,我需要用GBK编码,所以应该写成
-
<
compilerarg
line
=
"-encoding GBK "
/>
<compilerarg line="-encoding GBK "/>
,改好后的<javac>如下:
-
<
javac
srcdir
=
"${src.home}"
destdir
=
"${build.class}"
debug
=
"yes"
>
-
<
compilerarg
line
=
"-encoding GBK "
/>
-
<
classpath
refid
=
"compile.classpath"
>
-
</
classpath
>
-
</
javac
>
<javac srcdir="${src.home}" destdir="${build.class}" debug="yes">
<compilerarg line="-encoding GBK "/>
<classpath refid="compile.classpath">
</classpath>
</javac>
再Build就正常了.
You can determine the current character encoding settings by means of the System class:
String currentEncoding = System.getProperty("file.encoding");
Or by means of the Charset class: Charset.defaultCharset()
You could change the default encoding used by your application by means
of setting this variable when you lauch the application, for instance:
> java
-Dfile.encoding=UTF-8
> java -Dfile.encoding=ASCII
> java -Dfile.encoding=UTF-16
> java -Dfile.encoding=Cp1252
> java -Dfile.encoding=Cp500
分享到:
相关推荐
而UTF-8是一种可伸缩的Unicode编码,能表示Unicode字符集中所有的字符,包括GBK中的汉字和其他语言的字符。 在某些情况下,我们可能需要将GBK编码的文件转换为UTF-8编码,以便更好地兼容国际化的软件环境或者满足...
Test.java:3: 警告:编码 GBK 的不可映射字符 System.out.println("浣犲ソ锛?); ^ Test.java:3: 未结束的字符串字面值 System.out.println("浣犲ソ锛?); ^ Test.java:3: 需要 ';' System.out.println("浣犲ソ锛?)...
Maven编码问题:“编码GBK的不可映射字符” 这个错误通常发生在使用中文操作系统(如Windows XP或Win7)且项目源代码采用UTF-8编码时。由于Maven默认使用GBK编码进行编译,导致无法正确处理某些特殊字符,从而引发...
如果项目默认编码是UTF-8,但在生成Javadoc时不指定编码,可能会遇到GBK编码的不可映射字符警告,导致Javadoc无法正确生成。解决方法是在生成Javadoc时添加VM options,设置编码为UTF-8,即`-encoding UTF-8 -...
在描述中反复提到“转码工具”,这可能强调了其在日常工作中不可或缺的重要性,尤其是在处理多语言环境或者有历史遗留编码问题的项目时。 例如,ConvertCode.exe可能是一个命令行转码工具,用户可以通过在终端或...
但如果你的项目采用UTF-8编码,Javadoc生成时可能会出现警告,因为GBK无法完全映射UTF-8的所有字符,导致乱码。为了解决这个问题,你需要在生成Javadoc时通过VM options指定编码设置,如`-encoding UTF-8 -charset ...
如果这些不同的编码之间无法进行无损转换,即它们之间不存在兼容或等价的转换关系,那么乱码就不可避免地发生了。例如,如果shell使用的是UTF-8编码,但是MySQL的character-set-client配置成了GBK,而表结构却配置为...
**ORA-17037**:UTF-8 和 UCS-2 之间的转换错误,可能是因为字符集不兼容。 **ORA-17038**:字符串转换错误,可能是因为字符串格式不正确。 **ORA-17039**:字符转换错误,可能是因为字符集编码问题。 **ORA-...
例如:echo -e \x18 显示 UTF-8 字符 0x18。 echo -e \X2191 显示 unicode 字符 0x2191。 2016-03-15(yaya) 1.增加动画控制热键 F2:播放/停止。 2.增加动画控制位 0x835b,位0:0/1=停止/播放。 3.增加精简...
- **DBCharSet**: 数据库的字符集编码,如`utf8`或`gb2312`。 - **设定连接参数**: 除了基本的连接信息外,还需要配置一些额外的参数来优化连接性能,例如: - `useUnicode`: 设置为`true`以启用Unicode编码。 - ...
RFC2279 UTF-8,ISO 10646的一种转换格式 RFC2281 Cisco热备份路由协议(HSRP) RFC2283 BGP-4的多协议扩展 RFC2284 PPP可扩展认证协议 RFC2289 一种一次性密码系统 RFC2296 HTTP 远程变量选择算法--RVSA/1.0 ...
RFC2279 UTF-8,ISO 10646的一种转换格式 RFC2281 Cisco热备份路由协议(HSRP) RFC2283 BGP-4的多协议扩展 RFC2284 PPP可扩展认证协议 RFC2289 一种一次性密码系统 RFC2296 HTTP 远程变量选择算法--RVSA/1.0 RFC2313...
RFC2279 UTF-8,ISO 10646的一种转换格式 RFC2281 Cisco热备份路由协议(HSRP) RFC2283 BGP-4的多协议扩展 RFC2284 PPP可扩展认证协议 RFC2289 一种一次性密码系统 RFC2296 HTTP 远程变量选择算法--RVSA/1.0 RFC2313...