我们可以用其十进制转义码替换char吗?

时间:2016-01-22 05:07:21

标签: eclipse string

str = "tést";

我想将上面的é替换为其十进制转义码é。 我在下面试过,

str=str.replaceAll("é","é");

但无法运行构建,因为,担心:é是编码utf8的不可映射的字符。

那么,有没有办法从字符串中找到一个带小数点233的字符并替换它。

回答以下评论:

这是构建警告

D:\workspace\ProName\build\src\com\Pro\ps\ProRetrieve.java:381: warning: unmappable character for encoding UTF8
 [javac]            array[i] = array[i].replaceAll("�", "é");
[javac] 

                                        ^

在我们运行构建时,它会创建 jar 文件。我们使用.bat文件

运行这个jar文件

下面是运行jar的bat文件的代码

@ ECHO OFF
D:
cd D:\workspace\ProName\build\target
java -jar ProApp.jar

2 个答案:

答案 0 :(得分:0)

您的源文件是使用Windows默认编码的,可能是Windows-1252(ISO-8859-1),但javac命令需要UTF-8。理想情况下,您可以将文件更改为UTF-8,但也可以在javac命令行上指定选项-encoding ISO-8859-1

在IDE中,您需要找到设置源编码的位置,并且我不记得在Eclipse中设置的位置,并且现在无法访问我的Eclipse系统。

答案 1 :(得分:0)

javac是编译器,因此编译器会阻塞字符,而不是运行时的任何东西。您试图用HTML转义字符的方式替换它,而不是Java希望您embed Unicode values进入其源文件的方式,例如String str = "t\u00e9st"; \uXXXX使用4个十六进制数字表示字符的Unicode值。