1
我使用latin1_swedish_ci歸類中的有價值數據創建舊數據庫。我現在試圖將其轉換爲utf8,但我有問題。將數據從latin1轉換爲utf8後截斷數據
我已經嘗試了一切,並閱讀了我發現的每篇文章。我有幾個數據庫,其中一些技術對某些數據庫是有效的,但不是這一個。
首先,我想這一點,其中不同的數據庫
UPDATE tt_news SET
title=convert(cast(convert(title using latin1) as binary) using utf8),
short=convert(cast(convert(short using latin1) as binary) using utf8),
bodytext=convert(cast(convert(bodytext using latin1) as binary) using utf8)
WHERE 1
上工作,它被截斷從Balaševiæevi我的數據巴拉
然後我試圖用這個
mysqldump -u root -p mydb -c -e --default-character-set=utf8 --single-transaction --skip-set-charset --add-drop-database -B mydb > dump.sql
sed 's/DEFAULT CHARACTER SET latin1/DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci/' <dump.sql | sed 's/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/' >dump-fixed.sql
mysql -u root -p mydb < dump-fixed.sql
轉換數據庫
所有內容都轉換爲utf8_general_ci,並且數據不會被截斷,但我仍然遇到問題,因爲字符不會顯示爲應該顯示的內容。
這是字處理>Kuæa,這是六角形> 4B75C3A661,這是二進制> 4b75c3a661。該怎麼辦? – emir
應該有Kuća – emir
Kuæa和4B75C3A661和4b75c3a661是一致的utf8。 (十六進制的大小寫不是必然的。)Kuća的Utf8 hex是'4B75C48761'。你提到了「截斷」 - 這也在鏈接中討論。 –