我想將我的數據庫轉換爲存儲unicode符號。我可以將MySQL數據庫字符集從latin1轉換爲utf8而不丟失數據嗎?
目前的表有:
latin_swedish_ci
整理和latin1
字符集
OR
utf8_general_ci
整理和utf8
字符集
我不知道現有的數據是如何編碼的,但我想這是utf-8
編碼,因爲我使用Django,我覺得發送到數據庫之前編碼在utf-8
數據。
我的問題是: 我可以將錶轉換爲utf8_unicode_ci
整理和使用下面的查詢不會弄亂現有的數據集utf-8
性格嗎? (如sugested在this後)
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
考慮latin1的是UTF-8的子集,我覺得它要高度重視的工作。你們有什麼感想?
預先感謝您。
P.S:MySQL版本是:5.1
last_name ='RÖNSCH' HEX(substring(last_name,2,1))返回'c396' 這是什麼意思? –
'選擇從十六進制(姓氏)...' –
雖然從Django文檔: 「所有Django的後端數據庫的自動轉換Unicode字符串到相應的編碼談話的數據庫,還自動轉換從數據庫中檢索字符串。到Python的Unicode字符串,甚至不需要告訴Django什麼編碼你的數據庫使用:這是透明處理的。「 –