charset cp852和ISO 8859-2

时间:2015-04-09 07:10:38

标签: java character-encoding

.dbf文件中的字符加载到字符集cp852

时是否可能
ArrayList<Map<String, Object>>();

并将其保存到编码为ISO 8859-2的xml文件中会导致数据丢失吗?

在Internet Explorer和java集合中,所有charset似乎都没问题,但是当我将数据从xml添加到数据库时,我丢失了ąĄś,{{ 1}}

1 个答案:

答案 0 :(得分:3)

是的,这个代码上显示的几乎是可能的(尽管如果你只想导出简单的字母就没问题)。

public class Sample {
    public static void main(String[] args) throws Exception {
        // try to print Upper case A with ogonek
        System.out.println(new String(new byte[] {(byte) 164}, Charset.forName("IBM852"))); // <--- will print the correct character
        System.out.println(new String(new byte[] {(byte) 164}, Charset.forName("ISO-8859-2"))); // <--- will print something else
    }
}

我所处的结果将如下所示

  

Ą
  ¤

进一步参考,你可以检查这两个链接

http://www.ascii-codes.com/cp852.html
http://www.calculla.com/en/iso8859_2_table?action=showAll