【发布时间】:2011-01-09 07:10:04
【问题描述】:
我正在使用 Flash 编写在线游戏。我正在通过 PHP 将我的 flash8 电影与 MySQL 数据库连接起来。我在这方面做得很好,一切都很好。
当我尝试将非英语的数据插入(使用 INSERT SQL 函数)到数据库时,问题就出现了。换句话说,UTF-8 数据。
我翻了很多关于这些东西的文章,并找到并应用了休闲: 1. 在 PHP4 中,您需要告诉 PHP 在使用 xml_parser_crater() 函数时使用 UTF-8,但是在 PHP5 中这是自动完成的。即使我在调用函数时告诉 PHP5 使用 UTF-8。
将标头添加到从 flash 发送到 PHP 的 XML。
在首选项中强制 FLASH 使用 UTF-8 编码。
将 MySQL 中的编码设置为 UTF-8(带有 InnoDB 引擎的 utf8_unicode_ci)。我也可以在 phpadmin 中正确读取和插入其他语言数据。
我在编码中完成了所有这些工作,但我仍然无法插入此类数据。
更奇怪的是,当我使用相同的链接时,FLASH 使用 XML,FLASH 创建,在浏览器(谷歌浏览器)上,我将数据插入到数据库中! !!!
我快要为那些东西发疯了,我错过了什么?是什么原因造成的?
【问题讨论】:
-
您尝试插入的 mysql 表中的排序规则设置是什么?
-
utf8_unicode_ci 用于整个数据库和字段。我正在使用 InnoDB 引擎。
-
您能否发布一个示例,什么插入到数据库中(当从闪存发送时)以及您最初发送的内容?
-
另外:使用 Firebug (getfirebug.com) 之类的工具来调试 flash 发送到服务器的内容。
-
好吧,这是 flash 发送的示例 (localhost/Asmsam/SaveCity.php?XXX=?<?xmlversion="1.0" encoding="UTF-8"?>
) 当我在浏览器中完全一样地使用它时,数据被正确插入 - 使用正确的编码 - 但是当 FLASH 发送它时,PHP 代码刚刚停止并且无法插入任何东西到数据库!ارض الحياة منطقة غنية بالمواقع الطعام