【发布时间】:2012-02-17 04:17:54
【问题描述】:
我正在使用 maven 编译一个包,它说构建失败并出现以下编译错误:
SpanishTest.java[31, 81] 用于编码 UTF8 的不可映射字符
我在网上搜索了很多人,将源编码从 UTF-8 更改为 ISO-8859-1 似乎可行,但我仍然遇到相同的编译错误。我正在使用 32 位 Ubuntu。这是该标签在我的 pom.xml 中的外观
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
即使我将<project.build.outputEncoding> 标签更改为 ISO-8859-1,我仍然会收到错误。可能是因为 java 版本吗?我的系统上同时安装了 Sun java 和 openjdk。
谁能告诉我该怎么做。
谢谢
【问题讨论】:
-
你看过SpanishTest.java的第31行第81个字符吗?
-
是的,它有 ó 、 é 、 í 等字符,因此编译不成功。
-
这些字符在文件中究竟是如何表示的?他们使用了哪些字节?
-
是的,你肯定需要显示实际的 bytes 是什么地方失败了。 UTF8 是一种编码,这意味着它期望某些字节处于某些排列中,否则会失败。即,您发布的那些字符对于 UTF8 hexutf8.com/?q=20c3b3202c20c3a920 来说不是问题,但我敢打赌,您认为
SpanishTest.java中的内容有点偏离
标签: java maven character-encoding