0

我正在使用 postgre 数据库,它在马拉地语单词 pimpri 的 unicode 中编码 UTF-8 就像这样 \u092A\u093F\u0902\u092A\u0930\u0940 \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\u00AA\u00E0\u00A4\u00BF\u00E0\u00A4\u00AA\u00E0\u00A4\u0082\u00E0\u00A4\u00B0\u00E0\u00A5\u0080是utf8还是utf16还是utf32

以及如何使用 java 将 utf8 转换为 utf16 有什么方法吗???

4

2 回答 2

2

为什么你必须处理编码?PostgreSQL JDBC 驱动程序应该处理它,Java 在内部使用 UTF-16。因此,您可以简单地将得到的字符串ResultSet.getString()与任何其他字符串进行比较,或者如果使用PreparedStatement.setString().

于 2010-03-03T08:20:49.247 回答
1

您的数据库中的数据似乎是 UTF-16。

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

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

于 2010-03-03T08:05:24.673 回答