You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyCharm内置控制台无法渲染Emoji,日志输出报错求助

解决Windows PyCharm日志输出Emoji编码错误问题

问题重现

执行logger.info('🧱 Querying databricks')时触发UnicodeEncodeError,错误提示'charmap' codec can't encode character '\U0001f9f1'。即使已将PyCharm终端设置为PowerShell(系统终端可正常显示Emoji)、更换Segoe UI Emoji字体,问题仍存在。

解决方案

1. 给logging配置指定UTF-8编码

修改logging初始化代码,显式设置输出流的编码为UTF-8:

import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s',
    encoding='utf-8'  # 强制使用UTF-8编码输出
)
logger = logging.getLogger(__name__)
logger.info('🧱 Querying databricks')

2. 强制PyCharm控制台使用UTF-8编码

  • 打开PyCharm设置(快捷键Ctrl+Alt+S)
  • 导航到Editor > General > Console
  • 在「Console Encoding」选项中选择UTF-8,点击「Apply」保存设置

3. 配置PyCharm的PowerShell启动参数

  • 打开设置Tools > Terminal
  • 确认「Shell path」为PowerShell路径(示例:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe)
  • 在「Shell path」末尾添加启动参数:-NoExit -Command chcp 65001,强制终端启动时切换到UTF-8编码(代码页65001对应UTF-8)

原因说明

PyCharm内置控制台默认可能继承了系统的CP1252编码,而非PowerShell使用的UTF-8编码。即使外部系统终端能正常显示Emoji,内置控制台的编码设置未同步,导致logging模块输出时用错误编码处理Unicode字符,引发编码错误。

内容的提问来源于stack exchange,提问作者Tjorriemorrie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 16:19:54