2010-09-11 27 views
0

我已經創建了一個使用.net環境的plist,並且在創建之後,我在plist編碼類型中將編碼類型設置爲「iso-8859-1」。然後我嘗試閱讀並在表格視圖中顯示。值不符合預期。讀取用iso-8859-1生成的plist

它具有不正確編碼類型的字符很少。

我該怎麼辦?

回答

0

你可以嘗試加載文件作爲NSString,你可以指定一個編碼。

NSString* plistString = [NSString stringWithContentsOfURL:... 
               encoding:NSISOLatin1StringEncoding 
                error:NULL]; 

然後用the -propertyList method將字符串轉換爲plist。

id plist = [plistString propertyList]; 

但它是更好地確保您始終在C#側產生UTF-8/UTF-16。

+0

感謝您的代碼。但我仍然面臨問題。我用xcode打開了這個plist文件,它有這樣的字符「Sjö」,但是當我使用你的代碼並且嘗試了uitableview或nslog時,它顯示爲「Sjö」我該怎麼辦? – thndrkiss 2010-09-11 18:27:11

+1

@thndrkiss:在UTF-8 ='「ö」'中,ASCII ='00f6'中的''ö'''='c3 b6'。看起來這個文件已經在UTF-8上了。 – kennytm 2010-09-11 19:03:30

+0

偉大的肯尼。優秀的觀察。後來我在很長一段時間後發現了相同的事實。謝謝。 – thndrkiss 2010-09-12 06:24:25