unicode识别是utf-8 utf-16还是其他任何东西?

时间:2010-03-03 07:40:54

标签: java unicode utf-8 character-encoding utf-16

我使用postgre数据库,它编码UTF-8 在马拉地语词pimpri的unicode是这样的 \ u092A \ u093F \ u0902 \ u092A \ u0930 \ u0930 \ u0935 \ u093E \ u0918 \ u0947 \ u0930 \ u0947

当我在客户端编写代码时 String tempString = Strings.toEscapedUnicode(strQueryString [1]); 它生成这样的unicode u00E0 \ u00A4 \ u00AA \ u00E0 \ u00A4 \ u00BF \ u00E0 \ u00A4 \ u00AA \ u00E0 \ u00A4 \ u0082 \ u00E0 \ u00A4 \ u00B0 \ u00E0 \ u00A5 \ u0080

所以我有匹配它的问题。

我有问题,如何识别哪种甲酸盐? u00E0 \ u00A4 \ u00A4 \ u00A4 \ u00AA \ u00A4 \ u00AA \ u00A0 \ u00A0 \ u00A0 \ u00A4 \ u00A0 \ u00A0 \ u00A0 \ u00A0 \ u00A0 \ u00A0 \ u00A0 \ u00A0 \ u00A5 \ u0000

以及如何使用java将utf8转换为utf16是否有任何方法???

2 个答案:

答案 0 :(得分:2)

为什么必须处理编码? PostgreSQL JDBC驱动程序应该处理它,Java在内部使用UTF-16。因此,如果使用ResultSet.getString(),您只需将PreparedStatement.setString()获取的字符串与任何其他字符串进行比较,或将任何字符串作为参数传递。

答案 1 :(得分:1)

数据库中的数据显示为UTF-16。

但您的客户端代码似乎是UTF-8。查看您的数据,第一个字符(DEVANAGARI LETTER PA)在UTF-16中为\u092A,在UTF-8中为0xE0 0xA4 0xAA

在Java中,您可以使用getBytes重载之一将字符串转换为特定编码的字节序列。