【发布时间】:2013-03-10 11:36:24
【问题描述】:
我无法将 ေနေန 这些字符转换为类似缅甸字体的字符串
当我使用
String ss =new String(rs.getString(i).getBytes("ISO-8859-15"),"utf8");
转换成 ????
我想用我指定的字体转换它
我在数据库中使用它
【问题讨论】:
标签: utf-8
我无法将 ေနေန 这些字符转换为类似缅甸字体的字符串
当我使用
String ss =new String(rs.getString(i).getBytes("ISO-8859-15"),"utf8");
转换成 ????
我想用我指定的字体转换它
我在数据库中使用它
【问题讨论】:
标签: utf-8
那里正在进行太多的字符串转换。当您执行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
我希望其中的一些帮助。
【讨论】: