Php 如何查找和修复MySQL中包含非任何语言字母表中的字符的行?
我继承了一个世界各地城市的大型数据库 我注意到有些城市的地名栏中有乱码 例如: 在数据库中,CitéAdministrative de l'Etat显示为CitéAdministrative de l'Etat placeName列的排序规则为utf8_general_ci,表的排序规则为utf8mb4_unicode_ci 如何在placeName列中找到所有不包含任何语言字母的城市名称 一旦找到这些,我如何自动修复它们,例如,CitéAdministrative de l'Etat变为CitéAdministrative de l'Etat,而不必逐个手动执行这些操作?查找Mojibake in,看看哪里出了问题Php 如何查找和修复MySQL中包含非任何语言字母表中的字符的行?,php,mysql,internationalization,character,collation,Php,Mysql,Internationalization,Character,Collation,我继承了一个世界各地城市的大型数据库 我注意到有些城市的地名栏中有乱码 例如: 在数据库中,CitéAdministrative de l'Etat显示为CitéAdministrative de l'Etat placeName列的排序规则为utf8_general_ci,表的排序规则为utf8mb4_unicode_ci 如何在placeName列中找到所有不包含任何语言字母的城市名称 一旦找到这些,我如何自动修复它们,例如,CitéAdministrative de l'Etat变为C
然后查看如何修复表。您没有办法在数据库中重新插入这些值吗?因为你也会有同样的问题。。。在PHP脚本上设置正确的编码,然后插入值或更新值会更容易。。。选择转换。。。使用utf8:-因为Cité看起来很像当你尝试将UTF数据填充到8859-1时发生的情况,UTF-8每个字符的位数是拉丁语的两倍,因此除了ASCII之外,你会得到2个不正确的字符-将其排序,然后你可能会想检查清单:@JulienLachal我没有原始数据,因此,我一直在处理数据库中当前的乱码数据,不幸的是,这就是我必须处理的所有数据。@CD001转换函数是否会修复CitéAdministrative de l'Etat并将CitéAdministrative de l'Etat转换为CitéAdministrative de l'Etat?尝试以下操作:选择CONVERTCASTCONVERT'placeName',使用拉丁1作为二进制,使用utf8作为您的表格中的地名。。。实际上,我把类似的东西和其他东西一起放进了MySQL函数中,这样我就不必记住它了;