不能显示unicode字符
问题描述:
我想在我的JSP页面中显示存储在PostgreSQL数据库中的土耳其字符我已包括:<meta http-equiv="content-type" content="text/html;charset=utf-8" />
。不能显示unicode字符
我仍然无法在屏幕上看到实际的土耳其字符集。在数据库中,当我使用resultsetwrapperobject.getstring("columnname");
和PostgreSQL获取它的字符串存储为%C4%9F%C4%B1%C4%B0%C3%B6%C5%9F%C3%BC%C4%9F%C4%B0
,它会自动将其转换成一个像这样的字符串:\304\237\304\261\304\260\303\266\305\237\303\274\304\
我想知道为什么这个自动转换发生,以及如何停止此转换。
答
你可以看一下'resultsetwrapperobject'类的代码吗?可能是实现使用默认(或特殊)编码的缓冲读取器。
您可以使用
public String(byte bytes[], String charsetName)
转换字符串
final String charSet = "UTF8"; // or "ISO-8859-1"
String tSrt = resultsetwrapperobject.getstring("columnname");
tStr = new String(tStr.getBytes(),charSet);
您也可以尝试设置Java默认编码FIEL作为Java系统属性。
-Dfile.encoding = UTF8