2011-02-09 50 views
3

我使用所有標準的UIKit控件在App Store上有一個簡單的程序,現在一些評論者抱怨西里爾語和韓語不被支持? UIKit控件是否不使用Unicode開箱即用?如何在iPhone/iPad應用程序中支持西里爾文?

我該如何解決這個問題?

+0

您是否在測試設備上啓用了西里爾文和韓文鍵盤並重現了錯誤?他們抱怨什麼樣的錯誤?崩潰?奇怪的角色? – CajunLuke 2011-02-10 00:13:58

回答

2

所有Cocoa NS/CFStrings均符合Unicode(UCS-2內部),包括俄文和韓文字母。因此,除非您的數據在某種程度上通過了單字節字符格式(例如C char[]字符串),否則應自動支持所有合理的語言和字符集。請注意您的存儲和導線格式;這就是ASCII通常潛伏的地方。

如果要從Web或基於HTTP的API下載數據,請密切關注Content-Type標頭中的字符集。從NSData或原始內存塊轉換爲NSString時,編碼始終是其中一個參數。

而且,就像CajunLuke所說,從複製問題開始。如果你需要一個「lorem ipsum」類型的文本,從相應的維基百科複製並粘貼一些隨機廢話。

我在商店裏有一個應用程序在同一時間處理俄語和日語(這是一個日本 - 俄語字典)。沒有采取特別措施確保國家字符集支持;然而,無論何時使用單字節字符串,我都會記住它的字符集是什麼。

+0

我正在使用JSON REST Webservice聯繫Google任務,因此我認爲它必須是內容類型標題。我應該用哪一個來支持所有語言? – Kristof 2011-02-10 12:38:40

0

我剛剛測試了日文,並且它在模擬器「開箱即用」中起作用(對於預定義文本字符串,例如Cancel和Done)。檢查系統首選項>語言&文本,我看到我有很多支持的語言(當我安裝操作系統時我特意做了這些)。

我假設你已經閱讀過Apple的Internationalization Programming Topics

要查看本地化文本,您將(大部分)必須自己創建它並將其放入Localizable.strings和.XIB文件中;你會想讀一讀NSLocalizedString()。