簡體   English   中英

utf-8 編碼在 iPython 控制台中工作,而不是在 Spyder 編輯器中

[英]utf-8 encoding works in iPython console, not in Spyder editor

這是最小的測試。 在 Spyder Editor 中,我寫了這 4 行(僅此而已)

# -*- coding: utf-8 -*-
import sys
print(sys.getdefaultencoding() )
print(u"µ")

我得到:

utf-8
µ

但如果我只是在 iPython 控制台中復制粘貼這兩行,我會得到

utf-8 \n µ

my.py 文件或 spyder 編輯器有什么問題?

my.py 文件或 spyder 編輯器有什么問題?

問題很可能是您正在使用 Windows 並且控制台將您的 output 解釋為 Windows-1252(西歐窗口的默認控制台編碼):

>>> 'µ'.encode('utf-8').decode('windows-1252')
'µ'

目前尚不清楚第一個片段是 spyder 控制台還是 windows 控制台中的普通python shell。

 print(sys.getdefaultencoding() )

從字面上看與任何事情無關。 sys.getdefaultencoding()是內部 python 編碼。

您可以嘗試弄亂PYTHONIOENCODING ,或者查看locale.getpreferredencoding()返回的內容。

感謝@Carlos Cordoba(Spyder 的大師),我解決了這個問題。

我在notepad++中打開文件,並將其轉換為“ UTF-8 BOM ”(它在 UTF-8 但沒有 BOM)

現在它可以工作了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM