3

我试图从以下 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
4

1 回答 1

1

[根据要求,这是将上述评论线程翻译成答案的形式。]

我怀疑问题出在输出上,而不是输入上。并非所有命令行环境都支持希腊语。要对此进行测试,您可以尝试System.out.println("\u03B1");如果您的命令行支持希腊语,它应该显示为 α(小写字母 alpha)。

在您的一条评论中,您提到您正在使用 Eclipse。如果事实证明问题出在输出上,那么谷歌搜索 Eclipse 控制台编码表明人们已经成功尝试了许多不同的方法——从修改 Eclipse 中的相关运行配置编辑eclipse.ini和系统编码

更新: [不是真正的更新,但我试图保持定期回答的错觉。. .] 我从您的后续评论中看到,您可以通过更改*.java文件的编码来更改控制台编码。凉爽的!

于 2012-09-02T12:57:42.570 回答