【问题标题】:Can I force character encoding inside a python script? [duplicate]我可以在 python 脚本中强制字符编码吗? [复制]
【发布时间】:2020-10-22 20:39:39
【问题描述】:

我遇到了字符无法正确呈现的问题。

背景:我正在参加在线课程来学习 Python。我使用 VSCode 作为我的 IDE 以及各种 python 扩展。

问题:我解决的一些课程中的字符超出了 128 个标准 ASCII 集。

示例: For clarity, this is the full script I'm dealing with. 当前课程的文本包含一个名为雾中的 Vétheuil 的画作中带有锐角 (é) 的小 e。不幸的是,acute-e 字符被渲染为占位符 (�) 并最终输出:雾中的 V�theuil。

努力:我做了一些搜索,并认为我找到了一个solution:在python脚本的开头包含一个编码标志,如下所示:

# coding=UTF-8

不开心。

我是否对风车倾斜/误解了目的或应用?

金钱问题:有没有办法让我在运行脚本时正确渲染角色?

【问题讨论】:

  • 您是否在 VSCode 终端中运行脚本?您的操作系统集成终端有问题吗?
  • 一个编码注释声明了你的脚本本身是用什么编码写的。它不影响输出处理。您的终端解释输出的方式有问题。
  • 我不知道您有什么操作系统,或者该级别是否有特定设置,但我可以确认,当我在 PyCharm IDE 以及 Windows 上的命令提示符中运行一个简单脚本时,文本以典型的法国口音正确打印。 "la Commission européenne pour l'efficacité de la Justice révèle que la France consacre 69,50 欧元 par habitant à la Justice"。这是由 python 3.6 中的简单文本 = r'la Commission européenne ...' 和 print(text) 呈现的
  • @user2357112supportsMonica,这就是我所缺少的,谢谢。

标签: python


【解决方案1】:

如果您希望 Unicode 字符正确显示,则需要使用支持 Unicode 的终端或更改终端设置以使用 Unicode,以防终端提供该选项。

当然,如果您不需要更多字符,您也可以让终端仅显示扩展的 ascii 字符,如“é”(只要您有提供此功能的终端)。

p>

【讨论】:

  • 是的,终端显示正确。似乎我将“输出”面板与“终端”面板混淆了。终端显示时输出未正确显示。
【解决方案2】:

这已得到充分解决。

VSCode 面板通过编辑器区域下方的选项卡显示不同的内容。输出选项卡显示不同,因此成为我的设置问题;不会出错,因为 TERMINAL 选项卡按预期显示字符。所以,除了我对发生的事情的误解之外,没有任何问题需要解决。

@user2357112supportsMonica 还提供了“编码注释声明了您的脚本本身是用什么编码编写的”,而不是如何呈现输出。

感谢大家帮助我度过这个难关。

只是为了结束这个话题。这里提供了一个完美的解决方案:

https://discuss.codecademy.com/t/general-nerdiness-questions/541682/7?u=coreblaster01537

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2012-06-28
    • 1970-01-01
    • 2022-01-03
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多