2

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 であることは確かです)。

4

1 に答える 1

0

デフォルトの応答エンコーディング形式を設定できます。

[self setDefaultResponseEncoding:NSISOLatin1StringEncoding];
于 2013-04-01T08:44:25.930 に答える