python3のcgiでUnicodeEncodeError

腹立つなァ....

python3のcgiで日本語を表示させたらページが真っ白に。

ログを見たら、

UnicodeEncodeError: 'ascii' codec can't encode characters in position...

python2の時はちゃんと動いていたのに。


いろいろ調べた結果、
下記を追加して動いた。

#!/usr/bin/python
import sys #↓以下2行を追加 import io sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') print( "Content-Type: text/html") print() print('糞野郎')
(参考)
http://lab.knightstyle.info/%E7%A7%81%E3%81%8Cpython3%E3%81%A7unicodeencodeerror%E3%81%AA%E3%81%AE%E3%81%AF%E3%81%A9%E3%81%86%E8%80%83%E3%81%88%E3%81%A6%E3%82%82%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E6%96%87%E5%AD%97/