开发者

UTF-8 encoding problem with flash mysql and php

I am programming an on-line game using Flash. I am connecting my flash8 movie with MySQL database through PHP. I am doing very good in that, and I have everything working fine.

The problems come when I am trying to insert (Using the INSERT SQL func) data to the database that are non-english. In other words, UTF-8 data.

I red a lot of articls about that stuff and found and apply the fallowing: 1. In PHP4, you need to tell the PHP to use UTF-8 when using the xml_parser_crater() func, however, in PHP5 that is done automatically. Even though I told PHP5 to use the U开发者_如何学运维TF-8 when calling the func.

  1. Adding the header to the XML sent to PHP from flash.

  2. Force the FLASH to use UTF-8 encoding in the preference options.

  3. Set the encoding in MySQL to UTF-8 (utf8_unicode_ci with InnoDB engine). I can read and insert the other language data correctly in the phpadmin as well.

I did all that in my coding, and still I can't insert such data.

one more strange thing is that, when I use the same link, that the FLASH using, with the XML, that the FLASH creating, on the browser (google chrome), I got the data inserted right in the database!!!!!

I am about to get crazy about that stuff, What am I missing? What causes the problem?


I think you need to ditch the mysql_* functions and switch to something better like mysqli_* or PDO. See http://maurus.net/weblog/2006/07/28/typo3-php-mysql-connections-and-unicode/


Right after the call to mysql_connect/mysql_select_db execute this:

mysql_query('set character set utf8');

to tell the PHP-MySQL driver to use UTF-8


Escape your data with mysql_real_escape_string()

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜