2011-01-09 47 views
3

我正在使用Flash編寫在線遊戲。我通過PHP將我的flash8電影與MySQL數據庫連接起來。我在這方面做得很好,而且我的一切工作都很好。Flash和MySQL的UTF-8編碼問題

當我試圖插入(使用INSERT SQL func)數據到非英語的數據庫時出現問題。換句話說,UTF-8數據。

我紅了很多關於這些東西的關鍵詞,並發現並應用了下面的例子: 1.在PHP4中,當使用xml_parser_crater()函數時,您需要告訴PHP使用UTF-8,但在PHP5中自動完成。即使我告訴PHP5在調用func時使用UTF-8。

  1. 將標頭添加到從flash發送到PHP的XML中。

  2. 強制FLASH在首選項中使用UTF-8編碼。

  3. 將MySQL中的編碼設置爲UTF-8(帶有InnoDB引擎的utf8_unicode_ci)。我也可以在phpadmin中正確讀取和插入其他語言數據。

我所做的一切,在我的編碼,可是我還是不能插入這樣的數據。

更奇怪的是,當我使用相同的鏈接,即FLASH使用,用XML,FLASH創建,在瀏覽器上(谷歌瀏覽器),我得到的數據正確地插入數據庫! !!!!

我即將瘋狂的東西,我錯過了什麼?是什麼導致了問題?

+0

您正在嘗試插入的mysql表中設置了什麼樣的排序規則? – 2011-01-09 08:50:04

+0

utf8_unicode_ci爲entier數據庫和字段。我正在使用InnoDB引擎。 –

+1

你可以發表一個例子什麼插入數據庫(當從閃存發送)和你最初發送的是什麼? – bummzack

回答

0

右後調用的mysql_connect/mysql_select_db執行此:

mysql_query('set character set utf8'); 

告訴PHP,MySQL驅動程序使用UTF-8

+0

我做到了,但我仍然面臨同樣的問題! –