2011-07-10 13 views
0

我有我的任何成員可以提交的評論部分和提交表單。
如果我的會員以英語發帖我將收到一封電子郵件更新,評論將以英語發佈。但是,如果他們使用英語以外的這種泰語的例子。那麼什麼情況所有的話讓說,例如สวัสดี它會顯示爲??????MySql僅收集數據庫英語但不是其他

我不知道爲什麼,但我去檢查我的php.ini文件和Unicode /編碼設置好的爲UTF8,也對MySQL的整理也設置爲UTF8。我確定元數據設置爲UTF8以及.html/.php文件,但仍導致相同的問題。

任何建議還有什麼我錯過了配置?

回答

0

我剛剛發現,是什麼原因造成的問題

php.ini

line mbstring.internal_encoding它被設置爲別的東西,所以我把它設置爲UTF-8,然後神奇!現在一切正常!

1

確保您使用的是multibyte safe string functions,否則您可能會丟失UTF-8編碼。

從PHP MBSTRING手冊:

雖然在 許多語言,其每一個必要的字符可以是 由一個一對一的映射到 表示的8位的值,有也有幾種 語言,它們需要很多 字符用於書面通信 ,它們不能被包含在 範圍內一個字節可以編碼(一個字節 由8位構成,每個位可以是 只包含兩個不同的值,一個爲 或零。因此,一個字節可以代表256個唯一值(8個冪的兩個 ))。多字節 字符編碼方案分別爲 ,用於在常規字節編碼系統 中編寫超過256個 字符。

當操縱(修剪,分割, 剪接等)在一個 多字節編碼編碼的字符串時,需要自兩個或更多個 連續字節使用 特殊功能在這樣的編碼 可以表示 單個字符方案。否則,如果你申請一個 非多字節意識到字符串函數來 字符串,它可能無法 檢測起點或 多字節字符的結尾,並與最 可能失去其原有的一 損壞垃圾字符串結束含義。

mbstring提供多字節特定 字符串函數可幫助您在PHP中使用多字節編碼處理 。在 除此之外,mbstring句柄 之間的字符編碼轉換在 之間可能的編碼對。MBSTRING 旨在處理基於Unicode 編碼,如UTF-8和UCS-2和 許多單字節編碼爲 方便

+0

所以基本上我需要安裝MB_Safe_string到我的php.ini權利,如果我明白了吧? – Ali

相關問題