-3

当我使用
String ss =new String(rs.getString(i).getBytes("ISO-8859-15") “utf8”);转换成 ????我想用我指定的字体转换它我用它和数据库一起使用

4

1 回答 1

1

那里有太多的字符串转换。执行rs.getString(i)此操作时,数据库驱动程序会将列中的字节解释为数据库定义的字符集中,然后再转换为 Java 的内部表示 (UTF-16)。然后调用getBytes将字符串转换为 ISO-8859-15 中的一系列字节,然后您将在 UTF-8 中解释这些字节。呸!

那么数据库是以 ISO-8859-15 还是 UTF-8 存储数据的呢?表上的编码规范是什么?如果您确切知道它们的存储方式并希望避免数据库驱动程序执行任何字符串工作,则可以使用以下解决方法:

String ss = new String( rs.getBytes( i ), "UTF-8" );  // Change UTF-8 to the encoding you know is in use

我希望其中一些有所帮助。

于 2013-03-21T08:35:26.767 回答