| 回覆人 | 回覆內容 |
|---|---|
|
發問者 2018/10/26 23:23 |
更新後續
我發現需要在code裡面加上System.setProperty("file.encoding", "UTF-8"); 然後如果要將抓到的資料丟進txt 編譯需要加上一些參數javac -encoding utf-8 *.java 執行也是java -Dfile.encoding=utf-8 * 我是亂試發現的 說不定有更快的方法 歡迎一起討論 |
|
MUO 2019/11/15 15:22 |
我遇到中文亂碼的原因是因為沒有解壓縮,加入判斷如下:
URL url=new URL(apiUrl); if("https".equalsIgnoreCase(url.getProtocol())){ SslUtils.ignoreSsl(); } connection=(HttpURLConnection)url.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("Authorization", sAuth); connection.setRequestProperty("x-date", xdate); connection.setRequestProperty("Accept-Encoding", "gzip"); connection.setDoInput(true); connection.setDoOutput(true); Reader reader = null; if ("gzip".equals(connection.getContentEncoding())) { reader = new InputStreamReader(new GZIPInputStream(connection.getInputStream()), "UTF-8"); } else { reader = new InputStreamReader(connection.getInputStream(), "UTF-8"); } BufferedReader in = new BufferedReader(reader); //讀取回傳資料 String line=""; String response=""; while ((line = in.readLine()) != null) { response+=(line+"\n"); } result = response; |