簡體   English   中英

將 Python 3 中的 UTF-8 字符打印到網絡

[英]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.

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