Webサーバーの、CGIで以下のコードを実行するとエンコーディングのエラーになります。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

html_body = """
<!DOCTYOE html>
<html lang="ja">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title> Test CAM</title>
</head>
<body>
こんにちは<br>
<form>
<input type="button" value="Button" onclick="button_click()">
</form>
</body>
</html>
"""
print("Content-type: text/html\n")
print(html_body)

エラー内容は

UnicodeEncodeError: 'ascii' codec can't encode characters in position 153-157:

ただし、ファイルは

$ nkf -guess test.py
UTF-8

なので、utf-8のはずです

どうも、リダイレクトの折にエラーになるようで

import sys
sys.setdefaultencoding('utf-8')

を入れて見ましたが、今度は

AttributeError: module 'sys' has no attribute 'setdefaultencoding'

とのエラーになります。

Python3ではどのように対処すれば良いでしょうか?