3

我正在使用 Flash 编写在线游戏。我正在通过 PHP 将我的 flash8 电影与 MySQL 数据库连接起来。我在这方面做得很好,一切都很好。

当我尝试将(使用 INSERT SQL func)数据插入非英语的数据库时,问题就来了。换句话说,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 在浏览器(谷歌浏览器)上创建,我将数据插入到数据库中!!!!!!

我快要为那些东西发疯了,我错过了什么?是什么导致了问题?

4

3 回答 3

1

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

于 2011-01-27T23:07:36.347 回答
0

在调用 mysql_connect/mysql_select_db 之后立即执行以下命令:

mysql_query('set character set utf8');

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

于 2011-01-22T16:44:43.180 回答
0

使用mysql_real_escape_string()转义数据

于 2011-01-25T22:56:56.610 回答