不能显示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