Python3 中文输出乱码

在cmd下输出正常,在python.exe下输出乱码

图片描述
图片描述
图片描述

在VScode的python插件下的Integrated Terminal/Console运行模式也是这样的情况

图片描述

我的代码

# -*- coding: utf-8 -*-
'''
假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:
S=√[p(p-a)(p-b)(p-c)] 
而公式里的p为半周长:
p=(a+b+c)/2 
'''
import sys
print(sys.getdefaultencoding())
import math
sides=[float(n) for n in input('输入3条边:').split()]
girth=sum(sides)
p=girth/2
S=math.sqrt(p*(p-sides[0])*(p-sides[1])*(p-sides[2]))
print('the area is %f,the girth is %.0f' % (S,girth))
阅读 10.8k
1 个回答

把python.exe、VScode的 输出编码也改为 utf8


要不,把系统默认编码改回 gbk / cp936


可以了,设置GBK能正常显示,但是为什么会这样?

@Recoding

sys.setdefaultencoding 设置的默认编码只对 cmd 有效,
你改成utf-8,而 python.exe 和 vscode 的输出窗口的编码仍然是默认gbk,
所以就显示乱码了
然而,你并不知道如何改 python.exe 和 vscode 的输出窗口的编码。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题