2011-09-21 385 views
0

我正在使用CakePHP框架開發一個應用程序,並且在過去遇到過一些編碼問題。多語言應用程序編碼

爲了避免這些問題在我的應用程序中,我開始做一些研究。但我仍然對如何和爲什麼有點困惑。

我的應用程序需要支持所有的語言,甚至是像Chineese這樣的語言。大部分數據將被存儲到MySQL數據庫中,這就是混亂開始的地方。我應該使用什麼作爲整理?

根據我過去幾天的看法,我得出結論,排序的最佳選擇是utf8_unicode_ci。它是否正確?

現在到PHP上,我將設置什麼編碼? UTF-8?我需要完全確定一個角色不應該出現。內容將通過表單提交,因此輸出必須與輸入相同。

我希望任何人都可以給我回答我的問題,並幫助澄清給我,在此先感謝。

回答

0

是的,utf8_unicode_ci是一個理智的選擇,當你不提前知道語言。

How to best configure PHP to handle a UTF-8 website
Croatian diacritic signs in MySQL db (utf-8)
Am I correctly supporting UTF-8 in my PHP apps?

一個額外的忠告是,要確保你的文本編輯器中保存的所有文件爲UTF-8:至於PHP我只是鏈接到一些答案我過去寫的(沒有BOM,如果你有這個選項)。總之,從一開始就保留所有的UTF-8,你應該是安全的。

+0

謝謝你的回答,這肯定會有很大的幫助! –

1

您需要使用UTF-8編碼來存儲數據。但就整理而言,它用於對字符串進行排序。不幸的是,不存在通用的整理,並且這種通用整理不可能存在,因爲整理是矛盾的。

爲了說明一個例子,在捷克語中'ch'跟在大多數其他拉丁語言語言的對面。