2015-07-02 17 views
1

我在ISO-8859-1中编写了服务器编码,并决定将其转换为UTF-8。问题是在ISO中创建的文件名现在崩溃了,因为我在我的代码中更改了编码类型。我尝试与iOS应用程序连接并显示目录和文件,消息显示良好,但ISO使用的则不是。无法很好地解码NSString

如何检测文件名是否以一种或其他编码方式以正确的方式处理每一个?因为现在,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]; 

回答

1

你需要有服务器声明的内容响应的编码,很像HTTP的做法。

我不相信有可能自动检测ISO-8859-1/UTF-8文本编码。