Python3 input()函数无法解码韩文输入,VSCode终端IPython报错
Python接收韩文输入时的UnicodeDecodeError问题
问题详情
运行以下代码时,偶尔会出现编码错误:
print("请输入韩文单词") typed_word = input("\> ") print(typed_word)
错误信息:
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 0-1: invalid continuation byte
现象特点
- 错误触发无规律:某次报错的韩文单词,后续运行可能正常,其他单词反而触发错误
- 仅在VS Code终端运行IPython时出现,Mac原生终端运行IPython完全正常
- 程序已稳定使用数月,此前VS Code终端可正常接收韩文输入,代码未做任何修改
设备与版本信息
- 2013款MacBook Pro,系统Big Sur 11.7.1
- Visual Studio Code 1.71.1
- IPython 8.5.0
- Python 3.10.7
解决方法
确认VS Code终端编码设置
打开VS Code设置(文件>首选项>设置),搜索「terminal.integrated.encoding」,确保值为utf-8,修改后重启VS Code。重新选择终端默认配置文件
打开命令面板(Cmd+Shift+P),输入「Terminal: Select Default Profile」,选择和Mac原生终端一致的配置(比如zsh或bash),关闭现有终端窗口后重启VS Code测试。调整IPython版本
问题可能源于IPython 8.5.0与VS Code终端的兼容性,尝试降级到旧版本:pip install ipython==8.4.0或升级到最新稳定版:
pip install --upgrade ipython跳过IPython直接运行脚本
暂时用原生Python运行脚本(python your_script.py),验证是否是IPython导致的问题。重置VS Code用户设置
若以上方法无效,备份设置后,打开命令面板输入「Preferences: Reset User Settings」,重置后重新配置再测试。
内容的提问来源于stack exchange,提问作者kh1517
相关产品推荐
相关产品推荐

