0
我使用UTF8編碼的MySQL5.1作爲字段customer_name。 但是,在UTF-8的JSP頁面(以各種方式,meta標籤等),它看起來是錯誤的。MySQL-UTF8到HTML轉換問題
在數據庫中,我看到:"Alѐ"
但在JSP它呈現爲:"AlÑ "
這是相同的,當我查詢:
select binary(name) from customer where customerID=X;
"AlÑ"
顯然,最後一個字符從該查詢不能在JSP上顯示。 我無法確定哪裏出錯。 從查詢結果RowSet中,我用普通的rs.getString(「name」)檢索Java字符串。 我試着將MySQL變量character_set_connection設置爲utf8(是latin1),但沒有任何區別。它一定是一些非常微不足道的東西。
你有沒有正確設置名稱? http://stackoverflow.com/questions/2159434/set-names-utf8-in-mysql – nonouco
我應該檢查字符串是否順利從MySQL到Java內存。當您執行rs.getString(「name」)時,檢查該String.codePointAt(2)是否等於232(0xE8)。 – helios
如果不是,請嘗試規範化字符串(UTF有兩種方法來表示重音字符):'Normalizer.normalize'。查看http://download.oracle.com/javase/6/docs/api/java/text/Normalizer.html瞭解更多信息。 – helios