替换数据库的“替换字符”

替换数据库的“替换字符”

由于一些编码问题,我的数据库中的一些字符被错误地解释。一些字符被替换为 '替换字符'。我需要找到所有这样的字符并将它们替换为空格。我一直在谷歌搜索使用 sed、bash、perl 等的不同解决方案,但没有成功。有人可以分享一个如何找到此类字符的解决方案吗(即在十六进制/八进制中查找此字符价值) 并将其替换为任何其他字符?

谢谢。

答案1

Unicode“替换字符”字形通常不是底层数据存储系统中的字形:它通常在显示层被替换(因为解码失败),并且实际上并没有告诉您底层代码是什么。

您有两个选择:

第一个(也是最好的)方法是找出底层的字形/代码,然后使用数据库工具来清理。

第二种方法是通过进行 Unicode 转换的程序导出数据,在那里搜索/替换“替换字符”代码,然后重新导入数据。这通常不适用于所有数据集,除非是最小的数据集(如果问题是您的工作站无法弄清楚如何处理 Unicode 字形(它无法解决您的问题)。

相关内容