将 UTF8 表上的 latin1 字符转换为 UTF8
您已经注意到您错过了在 PHP 脚本中插入 mysql_set_charset('utf8') ,现在所有的表都采用 utf8_unicode_ci 排序规则,使得插入带有变音符号的字符时行为不正常。
以前,每次尝试插入带有变音符号的内容时,都会由于不匹配而导致数据显示不正确在字符集中。然而,在修复 PHP 和 MySQL 之间的字符集之后,新的插入现在可以正确存储。
下一步是修复所有仍然混乱的旧行。您已尝试使用 mb_convert_encoding 和 iconv,但字符串在特定字符后被截断。
要恢复数据,您可以使用 MySQL 函数,例如:
convert(cast(convert(name using latin1) as binary) using utf8)
取决于如何恢复数据在编码转换期间被更改,您可能需要省略内部转换。此函数会将数据从 Latin-1 转换为二进制,然后转换为 UTF-8,确保所有字符都能正确显示。
以上是如何将 UTF8 表中的 Latin1 字符转换为 UTF8?的详细内容。更多信息请关注PHP中文网其他相关文章!