在NSDictionary中使用国际字符时,应用程序崩溃

时间:2010-04-18 14:12:19

标签: iphone uitableview internationalization nsarray nsdictionary

我将数据列出到plist文件中的UITableView,其中我有一个二维数组/字典:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
        <key>ID</key>
        <integer>1</integer>
        <key>Title</key>
        <string>Middelthunsgate</string>
        <key>Description</key>
        <string>Vis-a-vis nr 21, retning Kirkeveien</string>
    </dict>
</array>
</plist>

(如果你想知道,这是挪威语。)这很好用,直到我开始使用一些特殊的挪威字符,如æøå等。应用程序构建没有错误,但它崩溃。我发现这是因为我使用了øé字符作为Title键的字符串。当我删除该词典时,它再次运行得很好。

即使使用i18n字符,我还能做些什么才能确保它读得正常?

1 个答案:

答案 0 :(得分:1)

确保plist保存为UTF-8编码,而不是MacRoman。

使用“属性列表编辑器”(iPhone SDK附带),这样您就不需要关心编码了。