2013-05-09 3 views
2

내 코드에서 NSJSONSerialization으로 작업하는 것이 이상적인 UTF8에 인코딩 된 JSON 데이터를 다운로드하지만 구문 분석 된 객체를 얻으면 다음과 같은 인코딩 문제가 발생합니다.NSJSONSerialization JSONObjectWithData : options : error : 인코딩 문제

"Jo\U00e3o e Maria - Ca\U00e7adores de Bruxas"

("João e Maria - Caçadores de Bruxas"여야 함). 성공하지 ASCII, 유니 코드와 다른 사람을 재 인코딩을 시도 :

NSData *downloadedData = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:requestURL cachePolicy:cachePolicy timeoutInterval:timeoutInterval] returningResponse:NULL error:&error]; 
NSDictionary *serializedDictionary = [NSJSONSerialization JSONObjectWithData:downloadedData options:NSJSONReadingAllowFragments error:&error]; 

편집 : 내가 이것을 사용하여 인쇄 할 때 제대로 보여줍니다

NSLog(@"Test: %@", [[NSString alloc] initWithData:downloadedData encoding:NSUTF8StringEncoding]); 
+0

을 시도 할 필요가 그래서 문제가 더 이상 존재하지 않는 경우? – geo

+0

파싱 된 데이터를 어떻게 확인하고 있습니까? NSLog를 사용하고 있다면, \에 대한 \ U00e3과 같은 이스케이프 된 문자가 인쇄 될 수 있습니다. – Don

+0

감사합니다. 아직 UI가 없기 때문에 NSLog에서 테스트하고 있었지만, UILabel에서는 작동했습니다. –

답변

0

사람들이다 UTF8 인코딩 된 문자를. 형식이 정확하고 UILabel 또는 무언가에 올려 놓으면 예상대로 나타납니다.

0

당신이 연마 텍스트 자체가

NSString * s = [NSString stringWithUTF8String:[<your_string> UTF8String]];