Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Can';不能很好地解码字符串_Ios_Utf 8_Encode_Latin1 - Fatal编程技术网

Ios Can';不能很好地解码字符串

Ios Can';不能很好地解码字符串,ios,utf-8,encode,latin1,Ios,Utf 8,Encode,Latin1,我的服务器编码为ISO-8859-1,并决定将其转换为UTF-8。问题是ISO中创建的文件名现在崩溃了,因为我更改了代码中的编码类型。我尝试连接iOS应用程序并显示目录和文件,新闻显示良好,但使用ISO的旧应用程序显示不好 如何检测文件名是否采用一种或其他编码,以便以正确的方式处理每种文件?因为现在,ISO中的文件名可以用UTF-8表示,但要访问的字符串不同。(例如:%E1p%F1-->%C3%A1p%C3%B1) 我试过这个,但不起作用: NSString *isoL = [item.href

我的服务器编码为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];

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

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