我想在我的JSP页面中显示存储在PostgreSQL数据库中的土耳其语字符:<meta http-equiv="content-type" content="text/html;charset=utf-8" />
。
我仍然无法在屏幕上看到真正的土耳其字符。在数据库中,字符串存储为%C4%9F%C4%B1%C4%B0%C3%B6%C5%9F%C3%BC%C4%9F%C4%B0
当我使用resultsetwrapperobject.getstring("columnname");
从PostgreSQL获取它时,它会自动将其转换为如下字符串:\304\237\304\261\304\260\303\266\305\237\303\274\304\
我想知道为什么会发生这种自动转换以及如何停止此转换。
答案 0 :(得分:2)
您可以查看一下'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默认域编码设置为java系统属性。
-Dfile.encoding = UTF8