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