3

Flash を使用してオンライン ゲームをプログラミングしています。PHP を使用して、flash8 ムービーを MySQL データベースに接続しています。私はその点で非常にうまくやっており、すべてがうまく機能しています。

英語以外のデータベースに (INSERT SQL 関数を使用して) データを挿入しようとすると、問題が発生します。つまり、UTF-8 データです。

1. PHP4 では、xml_parser_crater() 関数を使用するときに UTF-8 を使用するように PHP に指示する必要がありますが、PHP5 では自動的に行われます。関数を呼び出すときにUTF-8を使用するようにPHP5に指示しましたが。

  1. Flash から PHP に送信される XML にヘッダーを追加します。

  2. 環境設定オプションで、FLASH が UTF-8 エンコーディングを使用するように強制します。

  3. MySQL のエンコーディングを UTF-8 (InnoDB エンジンでは utf8_unicode_ci) に設定します。phpadminでも他の言語データを正しく読み取って挿入できます。

私はコーディングでそれをすべて行いましたが、それでもそのようなデータを挿入することはできません。

もう1つの奇妙なことは、同じリンクを使用すると、FLASHがXMLを使用して、ブラウザ(Google Chrome)でFLASHが作成され、データがデータベースに正しく挿入されたことです!!!!!

私はそのことに夢中になろうとしています、何が欠けていますか? 問題の原因は何ですか?

4

3 に答える 3

1

関数を捨てて、 PDOmysql_*のようなより良いものに切り替える必要があると思います。http://maurus.net/weblog/2006/07/28/typo3-php-mysql-connections-and-unicode/mysqli_*を参照してください。

于 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 に答える