作者cutekid (KID)
看板Python
標題Re: 在linux上跑cgi 秀中文字的問題
時間Thu Dec 27 01:23:36 2012
※ 引述《left ()》之銘言:
: 下面的code,是小的在linux系統下跑cgi的簡單程式
: 當我這行 print('<p>哈哈</p>')有出現中文的時候
: 就跑不出來 是要怎麼改才能印出中文阿
: 希望各位大大能幫我解答
: #!/usr/bin/python3
: # -*- coding: big5 -*-
: import glob
: import os
: import cgi
: import cgitb
: cgitb.enable()
# 加下面這四行即可(dirty works)^_^
import locale
import sys
locale.getpreferredencoding = lambda: 'big5'
sys.stdout = open(1,'w')
: print('Content-type: text/html ; charset=big5 \n\n')
: print('')
: print('<html>')
: print('<body>')
: print('<p>哈哈</p>')
: print('</body>')
: print('</html>')
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.225.171.190
推 left:非常感謝 cutekid 弄了一晚 幫仗義相助 太強啦 12/27 01:50
推 swpoker:其實編碼的問題~有 1.程式檔案格式本身的編碼(非宣告) 12/27 12:05
→ swpoker:2.系統本身的編碼 3.程式裡頭的宣告 4.HTML輸出的宣告 12/27 12:06
→ swpoker:因為你在A平台編寫然後再B平台去跑~就會很容易有編碼問題 12/27 12:07
→ swpoker:例如你再WINDOWS上編寫~1234都是big5 12/27 12:08
→ swpoker:可是linux上面的2卻是utf8所以就會有問題 12/27 12:09
→ swpoker:建議你在開發的時候~開發的環境就要跟上線的環境一致才好 12/27 12:09
推 cobrasgo:我再幫樓補一個,連線軟體的編碼,像putty之類的 12/28 21:20
→ cobrasgo: 上 12/28 21:21