我正在閱讀外部服務器的某些信息,因爲我無法訪問,而且我也不知道編碼,並且遇到一些字符如í
的問題。我所做的是使用下面的代碼和之後的POST請求,我解析它。從互聯網閱讀時出現Double \
String response = "";
URL url = new URL(pURL);
URLConnection uc = url.openConnection();
if (sid!=null) uc.setRequestProperty("Cookie", sid);
uc.setDoOutput(true);
OutputStreamWriter osw = new OutputStreamWriter(uc.getOutputStream());
osw.write(request);
osw.flush();
InputStreamReader isr = new InputStreamReader(uc.getInputStream(), "UTF8");
BufferedReader br = new BufferedReader(isr);
String content;
while ((content = br.readLine())!=null){
response += content;
}
br.close();
osw.close();
在這一刻,如果我打印字符串它顯示了一個\\
,我的意思是,爲í
,而不是出現\u00ed
出現\\\u00ed
,如果我響應字符串轉換成字符數組,我可以看到,而不是轉換正確,它分爲6個字符\\\\, u, 0, 0, e, d
。
我試着改變InputStreamReader所在的位置,替換字符和一些正則表達式,但都沒有工作。有沒有人有這個問題,可以幫助我?
非常感謝。
你確定它應該是「UTF8」而不是「UTF-8」? – aioobe
只是爲了讓您知道:*您的省略換行符* ... – dacwe
您確定該請求正在以UTF-8格式返回數據..您應該檢查編碼的內容類型響應標頭 –