我正在做以下。如何保持字符编码与数据库查询
1)我导出数据库并将其保存到名为dump.sql的文件中。 2)然后通过PHP ftp将文件传输到不同的服务器。 3)成功传输文件后,管理员可以选择在新主机上运行“dbtransfer”脚本。 4)该脚本打开脚本并逐行运行查询。
这很好 - 但是外语编码有问题。我们正在使用UTF-8。
第1步:这工作正常,文件是以UTF-8格式。 第3步:当我使用mb_check_encoding()测试dump.sql文件的内容时。该字符串以UTF-8形式返回。 第4步:这将创建具有utf8_general_ci编码的表。这些信息被转存。
当我在传输后查看表格时,我收到了这样的记录:'ç,LJ,ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃà ,AY,AZ”。我不明白UTF-8字符串在进入数据库时如何失去其编码。我错过了一步吗?我是否需要运行某种函数来确保字符串被解析为UTF-8?
一旦系统安装,我可以保存外语查询。这只是转移,搞乱了。
任何想法?