2015-07-02 23 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文本編碼。