[英]Printing UTF-8 characters in Python 3 to the web
我正在嘗試將 Unicode 字符從 Python 3 打印到網絡。 在 Python 中,我可以運行:
print("Content-Type: text/html; charset=utf-8\n")
print("\u00EA")
從命令行運行時,它正確地吐出:
內容類型:文本/html; 字符集=utf-8
ê
但是當在 Apache 下作為 CGI 腳本從 web 運行時,它會拋出一個錯誤:
UnicodeEncodeError: 'ascii' 編解碼器無法對位置 0 中的字符 '\\xea' 進行編碼:序號不在范圍內 (128)
關於如何讓 Python 3 將 UTF-8 打印到網絡的任何建議? 謝謝!
編輯:我的帳戶和www-data
(Apache 的帳戶)中locale
的輸出是:
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
我正在嘗試將 Unicode 字符從 Python 3 打印到網絡。 在 Python 中,我可以運行:
print("Content-Type: text/html; charset=utf-8\n")
print("\u00EA")
從命令行運行時,它正確地吐出:
內容類型:文本/html; 字符集=utf-8
ê
但是當在 Apache 下作為 CGI 腳本從 web 運行時,它會拋出一個錯誤:
UnicodeEncodeError: 'ascii' 編解碼器無法對位置 0 中的字符 '\\xea' 進行編碼:序號不在范圍內 (128)
關於如何讓 Python 3 將 UTF-8 打印到網絡的任何建議? 謝謝!
編輯:我的帳戶和www-data
(Apache 的帳戶)中locale
的輸出是:
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
我正在嘗試將 Unicode 字符從 Python 3 打印到網絡。 在 Python 中,我可以運行:
print("Content-Type: text/html; charset=utf-8\n")
print("\u00EA")
從命令行運行時,它正確地吐出:
內容類型:文本/html; 字符集=utf-8
ê
但是當在 Apache 下作為 CGI 腳本從 web 運行時,它會拋出一個錯誤:
UnicodeEncodeError: 'ascii' 編解碼器無法對位置 0 中的字符 '\\xea' 進行編碼:序號不在范圍內 (128)
關於如何讓 Python 3 將 UTF-8 打印到網絡的任何建議? 謝謝!
編輯:我的帳戶和www-data
(Apache 的帳戶)中locale
的輸出是:
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
我正在嘗試將 Unicode 字符從 Python 3 打印到網絡。 在 Python 中,我可以運行:
print("Content-Type: text/html; charset=utf-8\n")
print("\u00EA")
從命令行運行時,它正確地吐出:
內容類型:文本/html; 字符集=utf-8
ê
但是當在 Apache 下作為 CGI 腳本從 web 運行時,它會拋出一個錯誤:
UnicodeEncodeError: 'ascii' 編解碼器無法對位置 0 中的字符 '\\xea' 進行編碼:序號不在范圍內 (128)
關於如何讓 Python 3 將 UTF-8 打印到網絡的任何建議? 謝謝!
編輯:我的帳戶和www-data
(Apache 的帳戶)中locale
的輸出是:
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.