2012-10-18 70 views
0

在MySql數據庫中,我有一列包含使用ISO-8859-1(latin1_swedish_ci)編碼的varchar字符串。使用Java將MySql字符串ISO-8859-1轉換爲UTF-8

當字符串不是latin1 MySQL的存儲它,例如,作爲"à¸à¸µà¹à¸à¸."

使用Java我需要提取它,並將其轉換爲UTF-8。

你知道我該怎麼做嗎?

感謝

+1

您需要添加有關字符串來自哪裏的更多細節d你如何插入它。 –

+0

http://stackoverflow.com/questions/652161/how-do-i-convert-between-iso-8859-1-and-utf-8-in-java – silly

回答

3

你的意思是像...

byte[] inIso_8859_1 = "à¸à¸µà¹à¸à¸.".getBytes("ISO-8859-1"); 
byte[] inUtf_8 = new String(inIso_8859_1, "ISO-8859-1").getBytes("UTF-8"); 

檢查UTF-8編碼字節

String s = new String(inUtf_8, "UTF-8"); 
System.out.println(s); 

打印

à¸à¸µà¹à¸à¸. 
+0

謝謝! 但在某些情況下,我有一些字符沒有轉換,或者實際上...他們是,但我看到◻ 任何想法? – user1310165

+0

您必須確保您正確顯示UTF-8。 –

+1

小細節:MySQL的「latin1」是世界其他地方的windows-1252。 – Joni