vscode中python乱码问题

博客主要讲述了在Windows环境下,使用VSCode的Coderunner插件运行Python代码时遇到的乱码问题。问题源于Python安装路径包含空格导致的执行路径解析错误。解决方法是将Python安装在无空格的路径下,或者在设置中修改Coderunner的executorMap以正确处理含有空格的路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

惯例先看报错代码

[Running] set PYTHONIOENCODING=utf8 && C:\Program Files\Python39\python.exe "c:\Users\aerody\Desktop\1\s.py"
'C:\Program' �����ڲ����ⲿ���Ҳ���ǿ����еij���
�����������

[Done] exited with code=1 in 0.041 seconds

 运行环境:win10,vscode,使用插件code runner运行后报错,首先这个不是中文乱码报错,因为源代码中没有中文也会乱码报错(虚拟机里展示):

这个问题只针对在windows下的vscode中使用coderunner插件运行官方python环境出现的乱码报错问题。

假如你是因为中文代码输出报错,解决办法也挺多的可以查看相关文章,而我就是在settings下添加如下代码(第一行注释是让coderunner调用系统终端运行,放开注释的话也会解决乱码问题,第一行和后面的代码随便注释一个,使用另一个运行代码即可,今天讲的问题是使用coderunner运行输出):

    // "code-runner.runInTerminal": true,   //let codernner run with terminal    
    "code-runner.executorMap": {
        "python": "set PYTHONIOENCODING=utf8 && $pythonPath $fullFileName",
    },

下来进入正题:为什么英文代码运行也会乱码?

首先我电脑安装了anacondapython官方的解释器,平时运行环境也是用conda下的python解释器,但是今天更新完vscode后新建程序,环境自动切换到了python官方环境下。

anaconda环境中左下角是这个模样

python官方环境长这样:

 

结果是在conda环境下coderunner可以正常运行输出结果,但是用官方的python环境就会输出错误。

开始我以为是官方的解释器是不是缺少什么而引起的代码运行错误,然后使用官方的python交互工具运行代码,结果代码正常输出

 然后我对比了输出结果:正常的输出是这样的

[Running] set PYTHONIOENCODING=utf8 && C:\ProgramData\Anaconda3\python.exe "e:\project\data_ana\test.py"

helloworld

世界你好!

 非正常输出(虚拟机演示结果):

[Running] set PYTHONIOENCODING=utf8 && C:\Program Files\Python39\python.exe "c:\Users\aerody\Desktop\1\s.py"
'C:\Program' �����ڲ����ⲿ���Ҳ���ǿ����еij���
�����������

可以看出,明明我调用的是官方自带的解释器,自带解释器路径是C:\Program Files\Python39\python.exe

但是程序竟然有自己的想法向,似乎想调用C:\Program' 里面的某个程序执行,但是又好像没发现,所以程序报错。

到这里对代码敏感的可能一下就发现问题所在,没错!就是官方python安装的路径有问题,那个Program Files 文件夹中间有个空格键,就是这个空格键造成coderunner无法识别执行路径造成的,归根结底还是windows的锅。于是卸载官方python,重新安装到一个没有空格分隔的文件夹下,这里我安装在了C:\ProgramData\Python39

 然后vscode,切换到官方python环境下,运行程序,完美解决。

 总结:这个问题只针对在windows下的vscode中使用coderunner插件运行官方python环境出现的乱码报错问题。

 欢迎讨论交流!

资源下载链接为: https://pan.quark.cn/s/67c535f75d4c 在初学 Python ,中文乱码问题常让人头疼。我总结了在 VSCode + Anaconda2 环境下遇到的中文乱码的解决办法,虽表述简略,但实用有效。同,对乱码产生的原因也做了说明,只是自己对编码原理还不够精通,若能真正理解原理,那解决乱码问题就能得心应手了。 确保 Python 文件本身的编码格式正确。在 VSCode 中,可以通过底部状态栏查看和修改文件编码,将其设置为 UTF-8,这是目前广泛使用的编码格式,兼容性较好,能有效避免因文件编码问题导致的乱码。 在 Python 源代码文件的开头添加编码声明,如# -*- coding: utf-8 -*-。这有助于 Python 解释器正确识别文件的编码方式,从而在读取和处理中文字符不会出现乱码。 如果是在控制台输出中文,要检查控制台的编码设置。对于 Windows 系统的命令提示符,可以通过chcp命令查看和设置代码页,将其设置为 65001(对应 UTF-8 编码),这样在运行 Python 程序,输出的中文字符才不会乱码。在 VSCode 的内置终端中,一般默认支持 UTF-8 编码,通常无需额外设置。 当读取或写入包含中文的文件,明确指定文件的编码格式。例如,在使用open函数,添加encoding='utf-8'参数,像这样with open('file.txt', 'r', encoding='utf-8') as f,这样可以保证在文件读写过程中正确处理中文字符,避免因编码不一致而产生乱码乱码的出现主要是由于编码和解码过程不匹配。计算机内部是以二进制形式存储数据的,而字符编码就是将字符与特定的二进制序列进行映射的规则。不同的编码方式,其映射关系不同。当一个程序按照某种编码方式将中文字符编码为二进制数
### VSCodePython 输出中文乱码解决方案 #### 修改系统环境变量法 通过修改系统的环境变量来解决问题。创建一个新的系统变量 `PYTHONIOENCODING` 并将其值设为 `UTF8`,之后需重启 Visual Studio Code 来使更改生效[^1]。 #### 编辑 VSCode 用户设置 JSON 文件法 另一种更为便捷的方式是在 VSCode 的用户配置文件中加入特定的设置项。具体操作如下: 按快捷键组合 **Ctrl+Shift+P** 调出命令面板,在其中输入并选择 `Preferences: Open Settings (JSON)` 命令以打开用户的全局设置 JSON 文件。接着向该文件内添加或更新 `"code-runner.executorMap"` 字段下的 `"python"` 键对应的字符串值为 `"set PYTHONIOENCODING=utf8 && python"` 或者对于某些操作系统可能是 `"export PYTHONIOENCODING=utf8; python"`][^[^23]. ```json { "code-runner.executorMap": { "python": "set PYTHONIOENCODING=utf8 && python" } } ``` 此改动即生效,无需重新启动编辑器即可测试效果。 #### 更改工作区设置法 如果偏好针对当前项目做单独调整,则可以通过 Ctrl+Shift+P 后选取 `Preferences: Open Workspace Settings (JSON)` 进入工作空间级别的配置界面执行相同的操作[^4]: ```json { "code-runner.executorMap": { "python": "set PYTHONIOENCODING=utf8 && python" } } ``` #### 修改终端内部调用方式 另外一种方案涉及直接改变终端里运行 Python 程序所使用的指令形式。可以在 launch.json 文件中的相应位置替换原有的 `python -u` 为带有编码设定的部分: ```json "python": "set PYTHONIOENCODING=UTF8 && python -u" ``` 这一步骤同样适用于那些依赖调试模式下启动的应用程序[^5]。 以上几种途径均可有效处理在 VSCode 下编写 Python 应用过程中遇到的中文字符显示异常现象。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值