Php 使用了错误的mysql连接编码-需要转换数据
我有一个Mysql数据库,所有表都整理为“utf8\U unicode\U ci”。 此外,我用php写入数据库的所有数据都用utf8编码。 但是我忘了将mysql连接编码设置为utf8,所以它可能默认为ISO-8859 在很长一段时间里,这不是一个问题。尽管在phpMyAdmin等工具中显示的特殊字符是错误的,但只要我一直使用错误的连接编码,数据在加载到php应用程序时是正确的 但现在我需要从另一个应用程序使用我的数据库,该应用程序(正确地)没有使用ISO-8859作为连接编码,并且会得到断开的特殊字符 现在我想转换我的数据库,以便使用正确的连接编码 我已经试过了: 但我不帮我。我找到的最接近解决方案是“ut8_解码(utf8_解码($data))”。 但这会打断以特殊字符开头的字段 其他信息: 因此,可能发生的情况如下:Php 使用了错误的mysql连接编码-需要转换数据,php,mysql,encoding,utf-8,connection,Php,Mysql,Encoding,Utf 8,Connection,我有一个Mysql数据库,所有表都整理为“utf8\U unicode\U ci”。 此外,我用php写入数据库的所有数据都用utf8编码。 但是我忘了将mysql连接编码设置为utf8,所以它可能默认为ISO-8859 在很长一段时间里,这不是一个问题。尽管在phpMyAdmin等工具中显示的特殊字符是错误的,但只要我一直使用错误的连接编码,数据在加载到php应用程序时是正确的 但现在我需要从另一个应用程序使用我的数据库,该应用程序(正确地)没有使用ISO-8859作为连接编码,并且会得到断开
我从来没有这样做过,但我认为这样做是可行的:创建一些基本脚本,其中两个连接到同一个数据库。第一个连接将只读取数据,而不设置连接编码。您将一步一个表地进行操作,使用到某个数组的第一个连接读取数据,截断表,然后使用设置了正确连接编码的第二个连接写回数据。有点硬编码,但应该可以工作…我想它可以工作,但我的数据库很大,用这种方式转换需要很长时间。是的,我很震惊你可以这么说。。。那么也许其他人可以提出更合适的建议。。。祝你好运