在MySQL中,在更改列的编码/整理之前,是否有以编程方式检查数据完整性的方法?

时间:2013-06-14 13:37:23

标签: mysql character-encoding

我有一个包含一列的表,其编码为cp1252,排序规则为latin_swedish_ci,我需要将其更改为utf8_general_ci。

我想检查一下,由于转换,我是否不会在其中一行中出现奇怪的字符。

此列存储域名,我不确定其中一行是否包含瑞典语字符。

我一直在研究这个问题,但在更改集合之前,我无法找到检查数据完整性的方法。

到目前为止,我最好的猜测是编写一个脚本来检查是否有一个不包含任何英文字母字符的列,但我很确定有更好的方法可以做到这一点。

任何帮助都会很棒!

更新

我发现有多行像垃圾一样:

ÜZìp;ìê+ØeÞ{/e¼ðP;

有没有办法在没有检查每行的情况下去除那个垃圾?

1 个答案:

答案 0 :(得分:1)

这种规范的方法是尝试一下:

  • 使用SHOW CREATE TABLE创建一个结构相同的测试表
  • 使用INSERT INTO .. SELECT ..使用原始主键和相关列填充测试表
  • 尝试转换,注意解决问题的必要步骤
  • 冲洗并重复