无法编码罗马尼亚字符

时间:2015-10-20 07:02:25

标签: java

我需要使用具有罗马尼亚字符的字符串来读取属性文件。

当我尝试进行编码时,我发现有些字符编码不正确。

    ResourceBundle bundle = ResourceBundle.getBundle("view.Country");
    Enumeration keys = bundle.getKeys();
    while (keys.hasMoreElements()) {
        String key = (String) keys.nextElement();
        String value = bundle.getString(key);
        try {
            System.out.println(key + ": " + new String(value.getBytes("UTF-8"), "UTF-8"));
            System.out.println("-----------");
            System.out.println(key + ": " + new String(value.getBytes("Windows-1250"), "Windows-1250"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }

输入:

Country=România
AdministrativeAreaType=Țara

输出:

AdministrativeAreaType: ?ara
-----------
AdministrativeAreaType: ?ara
Country: România
-----------
Country: România

正如您在输出中看到的,国家/地区值已正确编码。但是AdministrativeAreaType值未正确编码。

如果代码中有任何错误,请告诉我。

1 个答案:

答案 0 :(得分:1)

正如社区其他成员所说,罗马尼亚语不是UTF-8或UNICODE支持的语言。

我建议您查看Supported Encodings列表。 ISO-8859-2应涵盖罗马尼亚语。

我不确定,但我猜你将被要求自己进行转换。