今回は、ページの日本語化対応についてです。
Webページとして表示したい部分をPythonのファイルだけ利用して
作成する場合ですと、短いページなら問題ないのですが、
ページ切り替えや、多くの外部ファイルと連携しないと
いけない場合など、ソースのコードが増えて
管理が大変になってしまいます。
そこで、表示するHTML部分を別のファイルとして作成して
読み込むようにします。
cur_dir = os.getcwd() # カレントフォルダ取得
tar_file = cur_dir + self.path
if (os.path.isfile(tar_file)):
f = open(tar_file)
txt = f.read()
f.close()
self.send_response(200)
self.send_header("Content-type", mimetype)
self.end_headers()
self.wfile.write(txt.encode("utf-8"))
通常は、これでOKなのですが、
日本語の文字列が混ざるとエラーが出て表示されなくなってしまう
場合があります。
そこで、読み込む際のファイルのエンコードを以下のように
調整することで、エラーが出なくなります。
f = open(tar_file, encoding='utf-8')
エンコードを追加しないとエラーがでるという
Webページを配信時のファイル読み込みに
見落としがちな文字コードについてでした。
0 件のコメント:
コメントを投稿