wor*_*end 6 python encoding utf-8 atom-editor
我需要将 Python 的编码从Windows-1252更改为 UTF-8。我正在使用 Python 3.7.1、Atom和 Atom 脚本包作为终端。
我已阅读PEP 540 -- 添加新的 UTF-8 模式(对此的解决方案?我不知道如何实施或是否有用)我找不到声音分辨率。
目前它无法处理 '\u2705' 或其他。检查 Python 文件目录时,我发现 ...Python\Python37\lib\encodings\cp1252.py
# When I run
import locale
import sys
print(sys.getdefaultencoding())
print(locale.getpreferredencoding())
# I get
utf-8
cp1252
[Finished in 0.385s]
# Error for print('\u2705')
Traceback (most recent call last):
File "C:\Users\en4ijjp\Desktop\junk.py", line 7, in <module>
print('\u2705').decode('utf-8')
File "C:\Users\en4ijjp\AppData\Local\Programs\Python\Python37\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2705' in
position 0: character maps to <undefined>
[Finished in 0.379s]
Run Code Online (Sandbox Code Playgroud)
我希望我的终端在使用 print() 时处理这些字符并显示它们。
将以下内容放在 Python 脚本的顶部时,此问题已解决。我能够无误地打印所有字符。
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1752 次 |
| 最近记录: |