讓我開始說我做了一些家庭作業,但我沒有找到任何答案我的問題。谷歌翻譯將特殊字符使用objective-c
我在嘗試使用translate.google.com/translate_a網址將單個單詞從瑞典語翻譯成英語。我在objective-c中這樣做。
這裏有一個例子:
word = @"hus"; // result should be "house"
urlPath = [NSString stringWithFormat:@"/translate_a/t?client=t&text=%@&langpair=sv|en", word];
url = [[NSURL alloc] initWithScheme:@"http" host:@"translate.google.com" path:urlPath];
NSLog(@"%@\n\n", url);
request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setHTTPMethod:@"GET"];
myData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
result = [[NSString alloc] initWithData:myData encoding: NSASCIIStringEncoding];
NSLog(@"%@\n\n", result);
self.viewController.textViewGood.text = result;
的NSLog的給我這個網址:
http://translate.google.com/translate_a/t?client=t&text=hus&langpair=sv%7Cen
的的NSLog也顯示了正確的結果:
2013-03-01 00 :07:14.681 testgoogTrans [941:11303] [[[「house」,「hus」,「」,「」]]
etc ..
如果我現在在瀏覽器中調用之前顯示的url,我會得到一個內部具有相同結果的文件。
因此,這是適用於應用程序和瀏覽器。
現在,只改變的話,那有一個特殊的字符:
word = @"tåg"; // result should be "train"
,並保持相同的休息,我得到一個奇怪的不同的結果:
在控制檯打印網址:
http://translate.google.com/translate_a/t?client=t&text=t%C3%A5g&langpair=sv%7Cen這似乎是正確逃脫。
如果我把這個網址在瀏覽器中,我得到了以下內容的文件:
[[[ 「火車」, 「標籤」, 「」, 「」],[」 [「TRAIN」,「MARCH」,「ROPE」,「MARCHING」,「EXPEDITION」,「PROCESSION」]
etc ...這就是我所期望的。
代替,在該應用中,在控制檯中顯示的結果是:
[[[ 「T \ u00C3 \ u00A5 克」, 「T \ u00C3 \ u00A5g」, 「」, 「」 ]] ,, 「SV」,[[ 「T \ u00C3」,[5],1,0,998,0,1,0]
等等
我相信,網址是格式正確,我不知道爲什麼我從應用程序中得到不同的答案。
任何人都知道這件事或可以把我的方向來解決這個問題?
在此先感謝
感謝您的回答。二者的結果都一樣。當我在任何瀏覽器中嘗試時,結果總是很好。它是具有預期結果(train)的t.js文件。它是從應用程序內,結果是不「正確」或如預期。 如果您使用NSUTF8StringEncoding來翻譯單詞「hus」,因爲返回值是ASCII,結果會得到(null) – pm200107 2013-03-01 13:04:04