2011-02-27 46 views
4

我有一個UILabel,通過代碼進行更改。但是,當我創建一個NSString與字符æ,ø,å(丹麥語)時,我收到輸入轉換警告。代碼看起來就象這樣:在目標c中處理特殊字符æ,ø,åiphone

NSString *label=[[NSString alloc]initWithFormat:@"Prøv igen"]; 

而且我得到的警告是這樣的 - 警告:輸入轉換停止由於不屬於輸入代碼集UTF-8的輸入字節。我可以理解,ø可能不是UTF編碼,但該怎麼做?任何人誰可以給我一個暗示如何解決這個問題?

問候

Bjarke

回答

3

你的源代碼不會被保存爲UTF-8,但最有可能的東西,如ISO-8859-1。

只需打開文件並將其重新保存爲UTF-8格式,並且在進行此操作時,您應該也可以將其設置爲默認值。具體怎麼做取決於你使用的編輯器。

+0

嘿,謝謝你的答案絆倒有益的 - 我會試試看馬上 – Bjarke 2011-02-27 15:18:51

+0

我去的喜好在Xcode和設置它在保存文件時默認爲UTF8。但它並沒有消除警告。 – Bjarke 2011-02-27 15:29:02

+0

@ user597218:設置默認值不會改變你當前的文件 - 這些文件被檢測爲他們已經使用的任何字符集,然後編輯器會繼續使用它,除非另有說明。您必須打開該文件,告訴XCode使用UTF-8 *作爲該文件*並保存。我沒有Mac,所以我不能告訴你XCode在哪裏可以做到這一點,但我會認爲這是一個選項或菜單項。 – 2011-02-27 15:36:21

2

確保您的文件文本編碼設置爲UTF-8,而不是西方(ISO)或其他。您可以使用Xcode文件信息檢查器來執行此操作。

http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/XcodeWorkspace/050-File_Management/file_management.html%23//apple_ref/doc/uid/TP40002677-BABICEHI

確保它說的Unicode(UTF-8)的文件編碼。如果它詢問你,告訴它用新的編碼重新解釋你的文件。此外,您可能需要刪除有問題的文本並重新輸入以使其正常工作。

+0

保存文件時,我在xcode下進入了偏好設置,並將其設置爲UTF8作爲默認設置,或者這不是您的檢查器意味着什麼? – Bjarke 2011-02-27 15:29:43

+0

更新了更多信息 – 2011-02-27 15:54:41

+0

非常感謝 - id確實解決了這個問題:) – Bjarke 2011-02-27 19:11:40

0

我有同樣的問題,但我的源代碼文件已經UTF-8編碼,所以我以不同的方式修復它。 在你的情況下,它會一直像

的NSString *標籤= [NSString的stringWithUTF8String 「箴言IGEN」];

我希望這會,蔭使用Xcode的是其他人誰在這個問題上