Cocoa NSString是否支持非标准/非英语字符?

Cocoa NSString是否支持非标准/非英语字符?,cocoa,localization,nsstring,Cocoa,Localization,Nsstring,我正在使用xml解析器填充数组。此字符串:“Calle Mare de Déu de”在[NSPlaceholderString initwithstring:][/code>处生成异常。在SnowLeopard(10.6)上,它报告一个nil参数,而在Leopard(10.5)上,它抛出一个异常,但不报告错误 当我将字符串“Calle Mare de Déu de”替换为“Calle Mare de Deu de”时,它可以正常工作。问题是由“é”字符引起的 NSString不支持此字符和其他

我正在使用xml解析器填充数组。此字符串:“Calle Mare de Déu de”在
[NSPlaceholderString initwithstring:][/code>处生成异常。在SnowLeopard(10.6)上,它报告一个nil参数,而在Leopard(10.5)上,它抛出一个异常,但不报告错误

当我将字符串“Calle Mare de Déu de”替换为“Calle Mare de Deu de”时,它可以正常工作。问题是由“é”字符引起的

NSString不支持此字符和其他特殊字符吗

谢谢 迪皮卡

异常发生NSPlaceholderString initwithstring:]零参数对snow leapord和on leapord异常发生,但警报未出现

您会收到一个异常,告诉您传递了一个
nil
参数,因为您传递了一个
nil
参数

您在那里传递的字符串是
nil
。这与字符串的编码无关,原因有二:

  • 没有绳子。(如果传递了字符串,则不会传递
    nil
  • 字符串没有编码;它们只是字符串。编码可以将人类语言字符(字符串)转换为字节序列(数据)
  • 此外,如果您有一个字符串要传递给
    initWithString:
    ,则不需要使用
    initWithString:
    创建字符串,因为您已经有了该字符串。如果您想复制它,只需发送一条
    copy
    消息即可

    我们不知道你已经有了什么,这是至关重要的。请编辑您的问题,以包含从数据库或XML解析器中获取“字符串”并将其传递到
    initWithString:
    的代码

    是否只是因为“é”,意味着我想知道NSString是否不支持“é”或任何其他字符


    NSString支持Unicode中的所有字符。实际上,这意味着所有的问题。

    这个问题很难理解,你能试着进一步澄清吗?主要问题已经很清楚了(我认为提问者的英语水平已经达到极限),但我想知道一些细节,比如(1)“Calle Mare deéu de”来自数据库或XML解析器,(2)提问者使用的API是什么,(3)“将其转换为数组”是什么意思。