使用cmd執行Java中文問號,Python列印直接報錯的原因和解決
阿新 • • 發佈:2018-11-05
Python列印報錯的一個原因
當使用Python寫程式碼出現中文時,若只是亂碼那還好處理,開頭加
#-*- coding=utf-8 -*-
並且所有編碼一致,網上有很多案例。
有一天我在整一個線上寫爬蟲程式碼的專案時,建立Python專案並書寫程式碼使用cmd執行時,列印中文直接報錯無法執行
顯然這並不是程式碼編碼問題,程式碼中已經統一了編碼,使用cmd執行,應該是跟系統環境有關,換java程式碼執行,發現中文都是問號
果斷百度一下,網上教程還是蠻豐富的,按照別人的教程更改cmd預設內碼表無效,根據百度經驗
https://jingyan.baidu.com/article/6fb756eca32b60241958fb76.html
更改登錄檔,發現可以顯示中文了,但是不能輸入,而且使用Runtime執行cmd執行Python還是一樣,直到發現這篇詳解
https://blog.csdn.net/haiross/article/details/36189103
更改設定區域 Control Panel > Clock, Language, and Region > Administrator > Change system locale > Chinese(Simple)
文章相當詳細,真是及時雨啊!萬惡的內碼表,我的電腦環境是英文的,怎麼就把這個問題忽略了呢?果斷改為中文,再次嘗試,終於不再報錯了,也不再出現問號了,但是動態執行java變亂碼了,更改輸出流的編碼為GBK後,終於柳暗花明!
動態執行程式碼詳見: