python3.5 - Python3 中文输出乱码
PHP中文网
PHP中文网 2017-04-18 09:44:46
[Python讨论组]

在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))
PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
大家讲道理

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


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


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

@Recoding

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号