ASIWebPageRequest:响应始终在NSISOLatin1StringEncoding中

时间:2012-07-26 16:28:19

标签: iphone ios asihttprequest

尝试使用ASIWebPageRequest类缓存带有图像的页面以进行脱机模式。它工作正常,直到我添加一些本地字符串(捷克语)。 ASIHTTPRequest始终在NSISOLatin1StringEncoding中返回响应,因此某些字符会被破坏。

-(void)loadPage
{
    ASIWebPageRequest *request = [ASIWebPageRequest requestWithURL:url_server];
    [request setUserInfo:[NSDictionary dictionaryWithObject:@"book" forKey:@"request"]];
    [request setDelegate:self];
    [request setUrlReplacementMode:ASIReplaceExternalResourcesWithLocalURLs];
}

-(void)requestFinished:(ASIHTTPRequest *)request
{
    NSData *data = [request responseData];

    if (data)
    {
        NSFileManager *file_manager = [NSFileManager defaultManager];

        [file_manager createFileAtPath:str_file_path contents:data attributes:nil];
    }
}

问题是:如何使用UTF8编码下载页面(我知道页面是UTF8)。

1 个答案:

答案 0 :(得分:0)

您可以设置默认响应编码格式。

[self setDefaultResponseEncoding:NSISOLatin1StringEncoding];