2011-10-12 122 views
2

我想在我的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\

我想知道爲什麼這個自動轉換髮生,以及如何停止此轉換。

回答

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默認編碼FIEL作爲Java系統屬性。

-Dfile.encoding = UTF8