1. 程式人生 > >使用cmd執行Java中文問號,Python列印直接報錯的原因和解決

使用cmd執行Java中文問號,Python列印直接報錯的原因和解決

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後,終於柳暗花明!

動態執行程式碼詳見: