所以这是URL:
https://translate.googleapis.com/translate_a/single?client=gtx&sl=ar-SA&tl=en-US&dt=t&q=سلام
当从浏览器或邮递员命中时,响应就很好。但是,当我通过代码完成操作时,得到响应时会有奇怪的字符串。
我尝试了 Alamofire :
Alamofire.request(urlString, method: .get, parameters: nil,encoding: JSONEncoding.prettyPrinted, headers: ["Accept":"application/json;charset=UTF-8" ]).responseJSON { response in
print(response)
}
响应字符串是这样的:
"\\U0637\\U00b3\\U0638\\U201e\\U0637\\U00a7\\U0638\\U2026"
还有这个奇怪的阿拉伯字符串。
"ط ط ط \\\"\\\" ط ... ... ...\"
我也也尝试过这样的URL:
String.init(data: Data.init(contentsOf: URL.init(string: "https://translate.googleapis.com/translate_a/single?client=gtx&sl=ar-SA&tl=en-US&dt=t&q=%E2%80%8F%D8%B3%D9%84%D8%A7%D9%85")!), encoding: .utf8)
但是结果是相同的,有些古怪的阿拉伯字符串,在从浏览器或邮递员命中时是不同的。
"ط ط ط \\\"\\\" ط ... ... ...\"
我在点击URL之前先对URL进行编码。还尝试了对url和字符串的不同编码。
答案 0 :(得分:0)
这是API参数的问题。我添加了这两个参数,一切正常。
ie=UTF-8
oe=UTF-8