Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何查找和修复MySQL中包含非任何语言字母表中的字符的行?_Php_Mysql_Internationalization_Character_Collation - Fatal编程技术网

Php 如何查找和修复MySQL中包含非任何语言字母表中的字符的行?

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

我继承了一个世界各地城市的大型数据库

我注意到有些城市的地名栏中有乱码

例如:

在数据库中,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脚本上设置正确的编码,然后插入值或更新值会更容易。。。选择转换。。。使用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函数中,这样我就不必记住它了;