2013-04-30 33 views
0

我做下面創建我的屬性的一部分,使用相片標籤:在cocos2d中使用UIFont時,如何防止土耳其字母掉落?

CCLabelTTF *imageSourceLabel = [CCLabelTTF labelWithString:[_organism imageSource] fontName:[[UIFont systemFontOfSize:12] fontName] fontSize:12]; 

幾個圖像源包括土耳其字母。例如,在此URL中:

http://commons.wikimedia.org/wiki/File:Şahlûr-33.jpg 

這會在我的iPad應用程序中顯示不正確;土耳其的信件不見了。

如何創建一個可以在上面的URL中使用類似文本的標籤?


編輯:

沒關係...問題是從Excel導出。請參閱下面答案的評論。此鏈接提供一些額外的信息:Excel to CSV with UTF8 encoding


附加編輯:

事實上,它仍然是一個問題,即使是在我出口正確,確認我有合適的UTF-8(或者是16?)字母在CSV文件中。例如,這個字符串:

Dûrzan cîrano/CC BY-SA 3.0

是否顯示是這樣的:

incorrect turkish characters

與此字符串:

Christian Mehlführer/CC-BY 2.5

顯示是這樣的:

enter image description here

這肯定不正確地處理在導入時,爲CCLOG生成以下內容:

Photo Credit: Dûrzan cîrano/CC BY-SA 3.0 

更多信息:

在導入時,我存儲以下值一個數組中的字符串:

"Christian Mehlf\U00c3\U00bchrer/CC-BY 2.5" 

維基百科上說,ü(十六進制)的UTF-8值是C3 BC。它看起來像c3bc在那裏,但掩蓋爲\U00c3\U00bc

有什麼辦法可以正確地轉換它嗎?或者是在CSV導入級別上基本上被破壞了?


解決方法如下。

回答

0

,如果你試試這個:

[CCLabelTTF labelWithString:[[_organism imageSource] stringByUnescapingHTML] fontName:[[UIFont systemFontOfSize:12] fontName] fontSize:12]; 

它可能會更好地工作。我懷疑你的url字符串是轉義的HTML。

+0

在iOS上可以使用'stringByUnescapingHTML'嗎? – Clay 2013-04-30 04:16:32

+0

實際上 - 沒關係...我從Excel中導出.csv文件中的字符串。這些字符在Excel中是正確的,但在導出之後,它們在.csv文件中不正確。因此,這個問題與cocos2d無關。不過,我不確定如何解決Excel中的導出問題。謝謝。 – Clay 2013-04-30 04:21:06

+1

csv是一種文本格式,除非您可以指示excel以utf16格式導出(不可能?),您需要使用不同的方法,或許openoffice可以做到這一點。另請檢查:http://stackoverflow.com/questions/13019620/how-to-save-excel-file-as-csv-with-utf-16-formatting – LearnCocos2D 2013-04-30 07:50:10

1

有幾個問題:

  1. Excel中的Mac上不出口UTF-8正確。我使用的解決方案是將數據粘貼到Google Spreadsheet並從那裏導出。更多的信息在這裏:Excel to CSV with UTF8 encoding

  2. 我意識到,一旦我在CSV文件中有正確的數據,我是用不正確的設置導入它。我正在使用parseCSV,並且需要將-init方法中的_encoding設置爲NSUTF8StringEncoding,而不是默認值NSISOLatin1StringEncoding