對於Apache來說,我是一個相當新手,因爲我剛剛開始Web開發,所以如果我沒有提供足夠的信息,請詢問更多細節。關於Mac OS X Lion上的Apache
我使用Lion附帶的開箱即用的Apache,並且我創建了一個Python應用程序,每隔一段時間需要打印一個UTF-8字符。
但是,無論我使用什麼方法,或者嘗試了多少次,當我嘗試打印出UTF-8字符時,它將丟棄500 Internal Server Error
,而我將一無所有。
我已經試過各種事情:(隨着# -*- coding: utf-8 -*-
在代碼的頂部)
- 打印出的字符直接從Python代碼
- 打印出來使用
.decode('utf-8')
功能的字符。 (這會導致打印出3個單獨的字符) - 打印出一個佔位符,然後打印出將用符號代替佔位符的Jquery(並且頁面引發內部服務器錯誤)
- 打印出一個佔位符,然後打印出一個鏈接到一個將替換它的Jquery腳本。 (Firebug說,當試圖訪問腳本時,Firefox得到500服務器錯誤。)
我想不出別的什麼。 這就是爲什麼我在這裏問過。
有什麼建議嗎?
感謝 〜DragonXDoom
編輯:下面嘗試了威爾的建議之後,我現在得到以下錯誤。
<type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
args = ('ascii', '\xe2\x80\xa2', 0, 1, 'ordinal not in range(128)')
encoding = 'ascii'
end = 1
message = ''
object = '\xe2\x80\xa2'
reason = 'ordinal not in range(128)'
start = 0
我並不熟悉Python作爲Web語言,但如果您在請求中發送正確的UTF-8內容類型/字符集HTTP標頭或同等HTML元標記,則第二種方法可能會正常工作。瀏覽器可能試圖使用ISO-8859-1來解碼它。 – 2012-01-12 07:41:17
正如我所說,我很新,所以你可以舉一個這樣的meta標籤或頭的例子嗎? – DragonXDoom 2012-01-12 07:45:06
這實際上與Apache或Mac OS X無關。:)只是python和unicode,我建議使用這兩個標籤來代替。 – Arafangion 2012-01-12 08:33:26