如何在objective-c中编码法语字符?

时间:2013-08-28 14:34:26

标签: objective-c character-encoding

我正在使用法语中的Google翻译,一些结果字母会以某些符号的形式回复给我。经过一些研究,我了解到这是因为编码,但我需要一些帮助,因为我找不到足够的信息。

这是我的代码:

   - (void)performTranslation:(NSString *) inputStr {

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

 NSString *outLang = [defaults objectForKey:@"OutLanguage"];

 NSString *inLang=@"tr";
 NSString *textEscaped = [inputStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];    

 NSLog(@"textEscaped=%@",textEscaped);

 NSString *url = [NSString 
 stringWithFormat:@"https://www.googleapis.com/language/translate/v2?     key=AIzaSyAx5dSiKm1J-qkc0qKZpYnWhgFjYpoC84g&q=%@&source=%@&target=%@",textEscaped, inLang, outLang];

 NSLog(@"REQ : -%@-", url);
 NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
 [[NSURLConnection alloc] initWithRequest:request delegate:self];

}

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {

    NSLog(@"didReceiveResponse");
       }



 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {

  NSLog(@"didReceiveData=%@",data);

  NSString *result = [[[NSString alloc] initWithData:data
                                        encoding:NSUTF8StringEncoding] autorelease];
  NSLog(@"OUTPUT : %@", result);

}

我收到transfert d'argent但我希望transfert d'argent。这封d'字母需要不同类型的编码。

1 个答案:

答案 0 :(得分:1)

'是一个html或xml实体。您收到的数据可能是xml编码的。如果是这种情况,您需要使用适当的XML解析器来解析响应。我猜你是在手动解析你想要的数据。