2011-08-16 167 views
11

我正在學習如何定位我的項目中的字符串和我使用的Xcode 4如何在Xcode 4中更改Localizable.strings文件的文本編碼?

我已經生成的基礎Localizable.strings文件,我想導入此文件,從UTF-16改變其編碼Unicode utf-16,以便文件中的文本在xCode中可讀。如果我戰略導入這個文件,當我在xcode中選擇它時,文本顯示爲亂碼。

在Xcode中3,當你拖動Localizable.strings到你的項目,在出現的對話框讓你更改文本編碼的選項,但這不是在Xcode的情況下4

有誰知道解決這個問題的方法?

回答

13

也許這可以幫助你Objective C/Xcode 4: Encoding Problem with Localizable.strings files

這樣的錯誤可以,如果你複製發生在Xcode或從您的本地化文件的外部文件粘貼內容。結果是該文件的編碼更改爲例如Western(Mac OS Roman)。 Localizable.strings文件應該使用UTF-16。

解決方案

1. 就像在下面的圖片,導航在Xcode的Localizable.strings位置並打開它,這樣你可以看到所有您支持的語言。

Localizable.strings

  • 上的語言文件左擊的原因生成錯誤。

  • 確保您的實用程序視圖顯示在Xcode中。按下圖中標記1處的按鈕激活。

  • XCode Utilities

  • 在實用程序查看選擇文件檢查。 (看起來像頁面的小徽標)

  • 在文本設置下將編碼更改爲UTF-16(標記爲上圖中的2)。下拉菜單可能會變灰,但您可以點擊它。點擊Popup上的「轉換」。

  • 這就是你的項目現在應該重新編譯。

    -1

    查看 - >實用程序 - >顯示文件檢查器
    在文件檢查器實用程序視圖中更改文本編碼。

    +0

    Downvoter,請解釋一下。 – Richard

    0

    我的Localizable.strings文件的「文本設置」沒有像XCode 3那樣更改編碼的選項。但是,如果我簡單地重新啓動Xcode 4,它會正確重新解釋它(UTF-16)。

    0

    更改編碼並重新執行genstrings命令以重新生成本地化字符串後,事情應該起作用。

    0

    有時Xcode會顯示警告,即使文件內容是UTF-16,但該文件以某種方式被解釋爲UTF-8。iconv通常表示在這種情況下它不能轉換文件。將Xcode中的文件轉換爲UTF-8,然後再將其轉換回UTF-16,就像Edmar建議的那樣,可以解決這個問題。警告消失了。

    爲了確保在轉換過程中沒有任何東西被破壞,請重新檢查整個字符串文件。

    相關問題