php – 将latin1编码的文本插入utf8表(忘记使用mysql_set_charset)

前端之家收集整理的这篇文章主要介绍了php – 将latin1编码的文本插入utf8表(忘记使用mysql_set_charset)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个PHP网络应用程序,MysqL表格采用utf8文本.我最近将数据从latin1转换为utf8以及相应的表和列.但是,我确实忘了使用MysqL_set_charset和我认为最新的传入数据通过MysqL连接作为latin1.我不知道当latin1进入utf8列时会发生什么,但它会导致一些奇怪的显示问题,例如逗号,引号,&符号等.

现在MysqL_set_charset就位,它正在用时髦的字符拉出数据.现在我有使用正确的字符集的数据库连接资源的任何方式将latin1-utf8汤转换为直接的utf8?

最佳答案
找到你评论的修复程序.这是似乎解决了我的问题的sql系列.

UPDATE table SET col = CONVERT(CONVERT(CONVERT(col USING latin1) USING binary) using utf8);

即使该列是UTF8,它也会强制它将数据拉出为latin1,转换为二进制,转换为utf8并重新插入.

猜你在找的MySQL相关文章