我使用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是否有任何方法???
答案 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重载之一将字符串转换为特定编码的字节序列。