我想将我的数据库转换为存储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什么编码你的数据库使用:这是透明处理的。“ –