2010-09-03 65 views
1
NSArray *array=[contentOfResponseDataInJsonValue JSONValue]; 
NSLog(@"%@",array); 

打印:UNICODE到ZH-CN

(
    (
     (
     "\U515c\U639b\U8e55", 
     AABENRAA, 
     " o b\U8c46n lu\U8eab" 
     ) 
    ), 
    (
    ), 
    en 
) 

if (array==nil) { 
    return [email protected]""; 
}else { 
    returnStr=[[[array objectAtIndex:0] objectAtIndex:0] objectAtIndex:0] ; 
} 
NSLog(@"result is %@",returnStr); 

顯示:兜掛蹕

\U515c\U639b\U8e55來兜掛蹕爲什麼,爲什麼!

請幫幫我!!!謝謝!

+0

中國的兩個部分相同的渲染我.. – Thanatos 2010-09-03 03:09:36

回答

1
NSString *contentOfResponseDataInJsonValue = 
    [NSString stringWithContentsOfURL:url encoding:encoder=-2147483646 error:&error]; 
//            ^^^^^^^^^^^^^^^^^^^ 

這是什麼?您使用的編碼0x80000002在任何地方都沒有記錄。由於translate.google.com將返回UTF-8的結果,你應該寫

NSString *contentOfResponseDataInJsonValue = 
    [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error]; 

或者讓系統確定編碼爲你,

NSString *contentOfResponseDataInJsonValue = 
    [NSString stringWithContentsOfURL:url usedEncoding:&encoding error:&error]; 
0

我擡頭的Unicode編碼表,並確實

  • \U515c是兜,
  • \U639b是掛,
  • \U8e55是蹕。

這三個字母的組合對我來說沒有意義(作爲日語),但這就是您在JSON數據中的含義。

你想做什麼?爲了得到幫助,你需要解釋你想得到什麼幫助。

+0

哦,對不起! NSString * strURL = [NSString stringWithFormat:@「http://translate.google.cn/translate_a/t?client=t&text=%@&hl=zh-CN&sl=%@&tl=%@&multires=1&otf=2&pc=0&sc = 1「,strTextOfFilter,@」en「,@」zh-CN「]; NSURL * url = [[NSURL alloc] initWithString:strURL]; NSString * contentOfResponseDataInJsonValue = [NSString stringWithContentsOfURL:url encoding:encoder = -2147483646 error:&error];的NSLog(@ 「%@」,網址); 爲什麼我複製url在browser.return結果是[[「奧本羅」,「AABENRAA」,「Àběnluō」]],「en」]。 但NSLog(@「%@」,contentOfResponseDataInJsonValue); print [[「兜掛蹕」,「AABENRAA」,「o b豆n lu身」]] ,,「en」]。 – raien 2010-09-03 03:52:01

+0

我還是不明白。請解釋你想達到什麼。發佈「這段代碼確實是A,那段代碼沒有B」並沒有告訴我們你想做什麼。 – Yuji 2010-09-05 03:27:50