這也是我的問題,我終於找到了解決問題的方法。我不是一個熟練的編碼員,但我在這裏寫下答案,以便對像我一樣的人可能會有所幫助,但他沒有設法通過他們嘗試過的其他方式解決他們的問題。
在我看來,在一般情況下,你總是要確保你已經先進行這三樣東西:
將此標籤添加到您的每一個HTML源使用一些文本用語言除英語(添加它的開閉頭之間標籤):
<meta charset="utf8"/>
(正如你看到它的沒有關閉對標籤)
2-只有你(使用名爲$康恩一個mysqli的對象爲例)連接到數據庫,在那裏後,做到這一點也查詢:
$conn->query("SET NAMES 'utf8'");
(至少這工作了我自己的語言是波斯語)
3-設置你做表的排序規則爲「UTF8 - 通用詞」從頭開始(......我強調這個「從頭」。如果你想知道原因,請閱讀下面我的答案!):
當然,我上面說過的所有這三件事都很重要,但是當我摔跤這個尷尬的災難時,他們都沒有幫助自己! :(所以我感到失望,但一如既往的SO頁出現!:) 我讀到@deceze建議的輝煌製品,其是在下面的文章的評論,並從中看到了這些行:
數據庫服務器有一個默認的字符集,數據庫可以有一個默認的字符設置,數據庫表可以具有默認字符集,最後該列具有字符集設置。規則很簡單:如果沒有爲列指定明確的字符集,則使用下一個更高的默認值。如果該列有明確的字符集,則服務器,數據庫和表默認值都不會有任何影響。
其實,我的傻問題是,我們之前做的表(具有比其他UTF8一個unicode)和然後試圖改變它的Unicode爲utf8時,它似乎沒有工作,因爲正如文章所說,即使表格的排序與每個字段的排序都是分開的,因此當您更改表格時,其他表格會保留其默認排序規則(您在製作表格時選擇的排序規則scratch!)最後,我去了phpmyadmin中的結構選項卡,並將那些仍在使用latin1的字段的排序規則更改爲utf8-general-ci。 (這裏代表不區分大小寫)
我希望它有幫助。
這一直被問及一遍又一遍。我的標準猜測:你沒有設置*連接編碼*。如果沒有更多的細節,很難提出其他建議請參閱[如何在Web應用程序中處理Unicode](http://kunststube.net/frontback)以獲取完整的清單。 – deceze 2012-03-19 05:19:12