質問: "" for id, name in rows: data += ''' {0} '''.format(name, id) print_html(data) 【2.pythonでの print_html(data)実行】 Todoリスト あいうえおか かきくけこ さしすせそ 【3.Crome/IEでの表示】 �^�X�N�� �m�[�g���ɂ��� �؎���ɂ��� �m�����ɂ���
回答: `utf-8`ではないエンコーディングで標準出力(`print`)されていると思われます。 動作未検証ですが、以下のように`utf-8`で標準出力を開き直すことで正しく`utf-8`で出力されるようになります。 参考:PythonのCGIで日本語が文字化けしたときの対処法 ``` # 略 import sys import io sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') conn = sqlite3.connect('todolist.db') curs = conn.cursor() print('Content-type: text/html') print('') # 略 ``` なお、コードを見やすくするため、質問文中のコード部分はコードブロックで囲むようにしてください。 !Python