【问题标题】:Can't decode NSString well不能很好地解码 NSString
【发布时间】:2015-09-19 15:38:14
【问题描述】:

我的服务器编码为 ISO-8859-1,并决定更改为 UTF-8。问题是在 ISO 中创建的文件名现在崩溃,因为我更改了代码中的编码类型。我尝试连接一个 iOS 应用程序并显示目录和文件,新闻显示得很好,但 ISO 没有。

如何检测文件名是否采用一种或其他编码,以便以正确的方式处理每一个?因为现在,ISO 中的文件名可以用 UTF-8 表示,但要访问的字符串不一样。 (例如:%E1p%F1 --> %C3%A1p%C3%B1)

我尝试了这个,但它不起作用:

NSString *isoL = [item.href stringByAddingPercentEscapesUsingEncoding:NSISOLatin1StringEncoding];
char const *iso2utf = [isoL UTF8String];
NSString *utf = [[NSString alloc]initWithCString:iso2utf encoding:NSUTF8StringEncoding];

【问题讨论】:

    标签: ios utf-8 encode latin1


    【解决方案1】:

    您需要让服务器声明响应的内容编码,就像 HTTP 所做的那样。

    我认为自动检测 ISO-8859-1/UTF-8 文本编码是不可能的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-11
      • 2011-09-16
      • 2013-01-22
      • 2011-12-24
      • 2015-08-25
      • 2018-06-21
      • 1970-01-01
      相关资源
      最近更新 更多