【问题标题】:iOS: handling HTTP request's unicode charactersiOS:处理 HTTP 请求的 Unicode 字符
【发布时间】:2012-09-07 11:02:41
【问题描述】:

当我 NSLog HTTP 请求响应字符串时,它显示为“ãÃÂïãÃâ¬ÃÂãÃÂÃâãÔ,并且 UILabel 上出现了一些不同的东西,但与我在日文/中文格式中的预期不同。我正在使用 ASIHTTPRequest 并且如前所述 here 我已将响应编码设置为 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]);
}

【问题讨论】:

    标签: ipad asihttprequest ios5.1 unicode-string


    【解决方案1】:

    我设法解决了这个问题。以下是变化!

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-08
      • 2019-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-05
      • 1970-01-01
      相关资源
      最近更新 更多