【问题标题】:portuguese characters with webservice objective c具有 web 服务目标 c 的葡萄牙语字符
【发布时间】:2013-01-29 06:58:57
【问题描述】:

我正在调用网络服务并接收带有葡萄牙语字符的数据

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

[request addValue:@"application/json; charset=ISO-8859-1" forHTTPHeaderField:@"Content-Type"]; NSDictionary *allDataDictionary = [NSJSONSerialization JSONObjectWithData:webData options:NSISOLatin1StringEncoding0 error:nil];

甚至将 iso-8859-1 添加到标题中,但总是收到这样的字典:

    {
    name = "Lu\U00eds Brito";  
    user = lbrito;
    userId = 16;
},
    {
    name = "Nelson Azevedo";
    user = nazevedo;
    userId = 17;
},
    {
    name = "M\U00f3nica Morais";
    user = mmorais;
    userId = 19;
},

尝试输入 NSISOLatin1StringEncoding 选项但没有做任何事情 有人知道解决方案,四处搜索没有找到太多帮助,thks。

【问题讨论】:

    标签: objective-c web-services


    【解决方案1】:

    JSON 被定义为始终以 UTF-8 编码(它也可以使用 UTF-16 和 UTF-32,但不能使用 ISO 8859-1)

    【讨论】:

    • 那我能做什么,不能改变网络服务
    • 使用 NSJSONSerialization 而不使用任何编码选项,您将获得完全可用的 NSStrings 作为您的用户名。
    • NSDictionary *allDataDictionary = [NSJSONSerialization JSONObjectWithData:webData options:nil error:nil];没有改变任何东西:(
    • 好吧,你期待什么?也许你应该澄清你的问题。
    • M\U00f3nica Morais 应该是 Mónica Morais 而 Lu\U00eds Brito 应该是 Luís Brito
    猜你喜欢
    • 2018-09-22
    • 2018-09-18
    • 2011-09-12
    • 2013-10-11
    • 1970-01-01
    • 2019-04-10
    • 2016-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多