【问题标题】:UTF-8 encoding problem with flash mysql and phpflash mysql和php的UTF-8编码问题
【发布时间】: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。

  1. 将标头添加到从 flash 发送到 PHP 的 XML。

  2. 在首选项中强制 FLASH 使用 UTF-8 编码。

  3. 将 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 代码刚刚停止并且无法插入任何东西到数据库!

标签: flash php


【解决方案1】:

我认为您需要放弃 mysql_* 功能并切换到更好的功能,例如 mysqli_* 或 PDO。见http://maurus.net/weblog/2006/07/28/typo3-php-mysql-connections-and-unicode/

【讨论】:

    【解决方案2】:

    在调用 mysql_connect/mysql_select_db 之后立即执行:

    mysql_query('set character set utf8');
    

    告诉 PHP-MySQL 驱动程序使用 UTF-8

    【讨论】:

    • 我做到了,但我仍然面临同样的问题!
    【解决方案3】:

    使用mysql_real_escape_string()转义您的数据

    【讨论】:

      猜你喜欢
      • 2010-12-15
      • 2014-03-18
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 2023-03-23
      • 2011-06-05
      相关资源
      最近更新 更多