3

みんな、私はすべてを試しましたが、成功しませんでした。

作成:

    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:self.urlString]]; 
request.delegate = self;
[request setDefaultResponseEncoding:NSUTF8StringEncoding];
[request setResponseEncoding:NSUTF8StringEncoding];
[request setRequestMethod:@"PUT"];
[request addRequestHeader:@"Accept" value:@"application/xml"];
[request addRequestHeader:@"Content-Type" value:@"application/xml; charset=UTF-8;"];

表示:

- (void)requestFinished:(ASIHTTPRequest *)request
{
        [self HideProgressing];

//      NSString *poweredBy = [[request responseHeaders] objectForKey:@"X-Powered-By"];
//      NSString *contentType = [[request responseHeaders] objectForKey:@"Content-Type"];

        NSString *body = [request responseString];
        //NSString *body = [[NSString alloc] initWithData:[request responseData] encoding:NSUTF8StringEncoding];
        NSLog(@"%@\n%@", body, request.responseStatusMessage);

「コンテンツタイプ」でさえ、UTF-8を持っていると言います。しかし、キリル記号の代わりに「ዹ」のようなものしか表示されません。

誰かがエンコーディングで同じ問題を解決しましたか?

それが役立つ場合、データは Basecamp API からのものです。ありがとう。

代替テキスト

4

1 に答える 1

0

これは HTML のエンコード/デコードの問題です。URL のエンコード/デコードは別のものであることに注意してください。

キリル文字のエンコード/デコード表 - http://webdesign.about.com/od/localization/l/blhtmlcodes-ru.htm

コード アプローチ: http://code.google.com/p/statz/source/browse/trunk/NSString%2BHTML.h http://code.google.com/p/statz/source/browse/trunk/NSString %2BHTML.m

またはこれ: https://github.com/mwaterfall/MWFeedParser/blob/master/Classes/GTMNSString%2BHTML.m

まだ実装していません。別のタスクがあります。

幸運を。

于 2010-11-10T17:24:52.390 に答える