如何修复MySQL数据库中某些记录的意外编码问题?

时间:2012-06-15 22:53:48

标签: mysql encoding character-encoding

多年来,我用于研究的数据库已从SyBase迁移到MySQL,再迁移到PostgreSQL。

这是非常谨慎的,因为各种编码问题导致数据没有被破坏,但不幸的是,一堆记录确实被破坏了。

例如,其中一条记录显示为Jòzefina,但应为Józefina

有没有人知道我是否可以通过编程方式修复此特定编码问题?

我的编码方式不是很强,但看起来我可以以某种方式将字节序列ò映射到ó,依此类推。

我想知道是否有人知道哪个编码ò对应ó,因此我不必手动创建从损坏文本到正确文本的编码映射表,而是自动执行

1 个答案:

答案 0 :(得分:1)

将归类更改为unicode。这样做:

ALTER TABLE `t1` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

您的桌子使用的是Windows-1252。如你所见:

Dec 242
Hex F2
UTF-8 ò
Windows 1252 ò