我正在尝试从以下xml中获取值,但我写的代码返回了一堆问号而不是它应该返回的内容。我猜它一定是编码问题,但我还没有在网上找到任何相关信息。
<channel>
<title>ΖΩΔΙΑ Προβλέψεις, 1 Σεπτεμβρίου 2012</title>
</channel>
zodiaClass.java
public class zodiaClass {
@Root(strict = false)
public static class Example {
@Path("channel")
@Element
private String title;
}
public static void main(String[] list) throws Exception {
Persister persister = new Persister();
File file = new File("example1/download.xml");
Example example = persister.read(Example.class, file);
System.out.println(example.title);
}
}
输出:
????? ??????????, 1 ??????????? 2012
答案 0 :(得分:1)
[根据要求,这是将上述评论帖子翻译成答案的形式。]
我怀疑问题出在输出上,而不是输入上。并非所有命令行环境都支持希腊语。要对此进行测试,您可以尝试System.out.println("\u03B1")
;如果你的命令行支持希腊语,它应该显示为α(小写字母alpha)。
在你的一条评论中,你提到你正在使用Eclipse。如果事实证明问题与输出有关,那么a Google search for Eclipse console encoding表明人们已成功尝试了许多不同的方法 - 从modifying the relevant Run Configuration within Eclipse到editing eclipse.ini
and the system encoding的所有方法。
更新: [不真的更新,但我试图保持常规答案的错觉。 。 。]我从您的后续评论中看到,您可以通过更改*.java
文件的编码来更改控制台编码。酷!