Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java unicode识别是utf-8 utf-16还是其他任何东西?_Java_Unicode_Utf 8_Character Encoding_Utf 16 - Fatal编程技术网

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

Java unicode识别是utf-8 utf-16还是其他任何东西?,java,unicode,utf-8,character-encoding,utf-16,Java,Unicode,Utf 8,Character Encoding,Utf 16,我使用的是postgre数据库,它的编码是UTF-8 在这个unicode中,马拉地语单词pimpri是这样的 \u092A\u093F\u0902\u092A\u0930\u0940\u0935\u093E\u0918\u0947\u0930\u0947 在客户端,我写了一个代码 String tempString=Strings.toEscapedUnicode(strQueryString[1]); 它像这样生成unicode u00E0\u00A4\u00AA\u00E0\u00A4\u

我使用的是postgre数据库,它的编码是UTF-8 在这个unicode中,马拉地语单词pimpri是这样的 \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\u00E0\u00A4\u0082\u00E0\u00A4\u00B0\u00E0\u00A5\u0080这是utf8还是utf16或utf32


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

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

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


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

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

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


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

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