如何修复 python 3 中的“无效编码”错误?

How to fix "Invalid encoding' error in python 3?

我正在创建一个基于 python 的 shell,其中我使用了一个 latin-1 字符:“└──>”。所以我尝试了这个:

~python 3.8
# -*- coding:  latin-1 -*-

input_prompt = input('''
└──>  ''')

但它给了我错误:

Invalid encoding 'latin-1'
Saving as 'UTF-8'

为什么会显示这个?我在 python 2.7 中尝试了代码并且出现了同样的错误。如何解决?

提示字符串不是由可以用 latin-1 表示的字符组成,因此出现错误:

>>> s = '''└──>'''
>>> import unicodedata as ud
>>> for c in s:print(ud.name(c))
... 
BOX DRAWINGS LIGHT UP AND RIGHT
BOX DRAWINGS LIGHT HORIZONTAL
BOX DRAWINGS LIGHT HORIZONTAL
GREATER-THAN SIGN
>>> s.encode('latin-1')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-2: ordinal not in range(256)

要么将源文件编码更改为可以支持这些字符的编码(例如 UTF-8),要么只使用可以编码为 latin-1 的字符。

好的,抱歉,我发现问题是我必须先将此字符编码为 utf-8,这样会得到:'âââ>',然后添加 header。所以我必须将这些字符替换为 'âââ>'。