這些天我一直在使用java和mysql工作。 問題是,我得到了一個MySQL數據庫。一張表中有一列顯示中國城市名稱。一個同事把db變成了utf8,因爲每個字符(連接,數據庫,結果,服務器和系統)都會導致更改前的數據無法正確顯示,只有將%字符%設置回latin1。在任何字符集中,我只能正確地檢索一半數據。你能幫我解決這個問題嗎? 我試圖用java來解決問題,但它不起作用。字符串轉換問題
String sql = "SELECT * FROM customer_addresses";
ResultSet result = query.executeQuery(sql);
while (result.next()) {
byte b[] = result.getBytes("city");
c = new String(result.getBytes("city"), "UTF-8");
}
For example: there is one city in db like this 乌é²æœ¨é½å¸‚
the java print: 烏�?木�?市
it should be:烏魯木齊市
在此先感謝
您的問題不是很清楚。如果一切都設置爲UTF-8,一切工作嗎?我期望 –
謝謝回答,因爲更高級的數據是用latin1編碼的,後來用utf8 – fe3o4
,所以UTF-8編碼的數據被添加到ISO-8859-1數據中?這是愚蠢的,我會說 –