あめのお勉強

文系出身IT系1年目エンジニアのお勉強記録。IT以外にも史学の話とかしてしまうかもしれない。記録用なので、毎日更新(したい)。

Pythonお勉強:Webアプリを作る(1)

今日も今週末提出の論文に追われていたので、そんなにやっていない。

 

昨日に引き続き、↓5章を読み進める(今日はうまく埋め込めないようだ)。

https://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5%E5%8A%9B%E3%82%92%E8%BA%AB%E3%81%AB%E3%81%A4%E3%81%91%E3%82%8B-Python%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E3%82%AF%E3%82%B8%E3%83%A9%E9%A3%9B%E8%A1%8C%E6%9C%BA/dp/4839960240

 

とりあえずPython3に付属している簡易的なWebサーバモジュールを使って、文字を出力するだけのアプリを書く。

>>

#!/usr/bin/env python3
import html
import sys, io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='UTF-8')

print("Content-Type: text/html; charset=UTF-8")

print("")

print("<html><head><meta charset='UTF-8'></head><body>")
print("abあ")

 

teratail.com

こんな感じで。
サーバの起動やアプリの記述自体はスムーズにいったが、Webブラウザで閲覧するところで文字化け。
テキストに載っていた解消法だとうまくいかなかったので↑のベストアンサー参照(上に挙げたコードは直したあとのやつ)。CGI上での標準出力のエンコーディングを直す必要があるようだ。

同じテキスト使っている人からの質問でしたので、まぁ同じところではまっているなぁと。

 

ここまで読んで気づいたけど、このテキストはめちゃくちゃ誤字が多い。コードが間違っていることは今のところないが、本文は結構校正がいい加減である。