我目前在oracle中使用了一個數據庫,它有NLS_CHARACTERSET WE8ISO8859P1,所以可以說我在varchar2字段中存儲值是maž(重音字符),所以在數據庫中存儲爲maå¾。現在,當我嘗試使用查詢select * select * from field where fieldValue ='maž'時,它返回0行,然後當我嘗試再次插入時,它給了我一個約束錯誤,說明值已經存在。NLS_CHARACTERSET Oracle中的WE8ISO8859P1和UTF8問題
如何克服這種情況。 我通過Java代碼做這個
_「在數據庫中它被存儲爲maå¾」_你如何得到這個outpout?難道這不是[mojibake](http://en.wikipedia.org/wiki/Mojibake)的例子嗎? – 2014-12-04 14:31:31
你可以試試'ma \ u017E''嗎?爲了排除Java源代碼編碼問題等。您可以嘗試使用通過ID獲取記錄字段的SELECT,以及**轉儲字節/代碼點**。作爲最後的手段,可能需要一個PreparedStatement來填寫該字段。 – 2014-12-04 14:37:46