我有以下UTF-8表:
CREATE TABLE `table` (
`id` int(11) NOT NULL DEFAULT '0',
`description` mediumtext,
`description_info` mediumtext,
`rights` mediumtext,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
在UTF-8数据库中:
CREATE DATABASE `DB` /*!40100 DEFAULT CHARACTER SET utf8 */
在此表中有行LATIN1字符,如:è或Ã
我的问题是:如何转换这些字符?
THX!
答案 0 :(得分:0)
使用CONVERT:
SELECT
description,
CONVERT(description USING utg8)
FROM
`table`
答案 1 :(得分:0)
我在这里找到了一个解决方案:http://www.percona.com/blog/2013/10/16/utf8-data-on-latin1-tables-converting-to-utf8-without-downtime-or-double-encoding/
这些是我应用于在'描述'中转换latin1文本的步骤。列到UTF8:
ALTER TABLE table CONVERT TO CHARACTER SET latin1 -- this is because my table is in UTF8
ALTER TABLE table CHANGE description description BLOB;
ALTER TABLE table CONVERT TO CHARACTER SET utf8, CHANGE description description mediumtext;
我不知道这是否是最有效的方法......但它确实有效!