0

NSLog HTTPが応答文字列を要求すると、「ãÃÂïãÃâ¬ÃÂãÃÂÃâãÃÂ」と表示され、UILabelに別の何かが表示されますが、日本語/中国語の形式で期待するものとは異なります。私はASIHTTPRequestを使用しており、ここで説明したように、応答エンコーディングをNSUTF8StringEncodingに設定しました(サーバーは同じUTF-8を使用します)が、役に立ちませんでした。誰かが私のアプリでUnicode文字をサポートする方法を教えてもらえますか?ありがとう。

- (void)getData
{
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:[dataUrl stringByAppendingFormat:@"%@",self.selectedID]]];
    [request setResponseEncoding:NSUTF8StringEncoding];

    SBJSON *parser = [[SBJSON alloc] init];

    NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithCapacity:3];
    [data setObject:self.username forKey:@"username"];
    [data setObject:self.password forKey:@"password"];

    NSString *dataJSON = [parser stringWithFragment:data error:nil];
    [request appendPostData:[dataJSON dataUsingEncoding:NSUTF8StringEncoding]];

    [request setDelegate:self];
    [request setDidFinishSelector:@selector(requestSuccess:)];
    [request setDidFailSelector:@selector(requestFailed:)];

    [self.queue addOperation: request];
    [self.queue go];
}

- (void)requestSuccess:(ASIHTTPRequest *)request
{
     NSLog(@"success: %@", [request responseString]);
}
4

1 に答える 1

0

私はなんとかこれを修正することができました。以下が変更です!

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:[dataUrl stringByAppendingFormat:@"%@",self.selectedID]]];
[request setResponseEncoding:NSUTF8StringEncoding]; -- > Wrong!!!

 request.defaultResponseEncoding = NSUTF8StringEncoding; --> Correct!
于 2012-09-07T13:33:52.163 に答える