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

Python 3中如何用字符串字面量输出UTF-8字符Qä?

解决Python 3中直接用字符串字面量输出UTF-8字符"Qä"的问题

核心原因

你遇到的问题大概率是脚本文件实际保存编码与声明的UTF-8不匹配,或者终端输出编码未设置为UTF-8,导致字符串字面量中的非ASCII字符被错误解码/编码。

解决方法

  1. 确保脚本文件以UTF-8无BOM编码保存
    很多编辑器(比如Windows记事本)默认用GBK或UTF-8带BOM编码保存,即使你加了# -*- coding: utf-8 -*-声明,文件实际编码不对的话,字面量里的"ä"会变成乱码字节。检查编辑器的保存设置,选择「UTF-8(无BOM)」保存脚本。

  2. 确认终端编码为UTF-8

    • Linux/macOS:执行echo $LANG,输出应包含.UTF-8(如zh_CN.UTF-8),若不是则修改终端语言环境为UTF-8编码。
    • Windows CMD:执行chcp 65001切换到UTF-8编码;PowerShell默认一般支持UTF-8,若有问题可在设置中开启「使用UTF-8编码」。
  3. 使用Unicode转义序列兜底
    如果不想依赖文件保存编码,直接用Unicode转义字符代替字面量的"ä",这样无论文件用什么ASCII兼容编码保存,都能正确输出:

    # -*- coding: utf-8 -*-
    print("Q\u00e4")
    
  4. 直接使用字面量(文件编码正确时)
    当脚本文件确实以UTF-8无BOM保存,且终端编码为UTF-8时,直接写字面量即可正常输出:

    # -*- coding: utf-8 -*-
    print("Qä")
    

为什么读文件能成功?

读取UTF-8文件时,Python会自动将文件的字节流解码为Unicode字符串,输出时再根据终端编码转码,这个过程绕开了脚本文件本身的编码问题,所以能正常显示"Qä"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 19:22:16