将 UTF8 表中的 Latin1 字符转换为 UTF8
您遇到了带有变音符号的字符(例如“Jáuò Iñe”)的问题) 由于缺失而被错误地存储在 UTF8 表中“mysql_set_charset('utf8')”调用。
要解决此问题,您尝试使用“mb_convert_encoding”和“iconv”转换受影响的行。但是,这些方法无法捕获第一个“非法”字符(在示例中表示为“ă”)之外的字符。
纠正数据的推荐方法是使用 MySQL 函数:
convert(cast(convert(name using latin1) as binary) using utf8)
说明:
在某些情况下,内部转换可能不是必需的,因为数据可能已经以适合转换为 UTF-8 的二进制格式存储。测试这两个选项应该可以确定适合您情况的正确方法。
以上是如何正确将UTF8 MySQL表中的Latin1字符转换为UTF8?的详细内容。更多信息请关注PHP中文网其他相关文章!