Java - cmd 亂碼 和 HttpURLConnection

Java - cmd 亂碼 和 HttpURLConnection

這神奇的bug

是我使用Eclipse 寫完,並包成jar檔,並用cmd去執行,才會發生從http取得的資料會是亂碼的問題,

在Eclipse直接執行不會發生這種錯誤,

原因在取得資料時,未設定UTF-8格式讀取。

改成設定UTF-8就沒這個問題(如下)

            InputStream is = con.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));

至於為什麼會這樣,我也不清楚。

總之這樣就解決在cmd執行時發生亂碼的問題。

參考資料

https://www.ptt.cc/man/java/D92E/M.1244094324.A.3B1.html