はじめて質問させていただきます。
プログラミング初心者にて知識も表現も拙いのですが、何卒よろしくお願いします。
python3のウェブアプリを作りまして、ローカルでは問題なく動作しているのですが、cloud9のレンタルサーバー上で動かそうとしたところ不具合がありました。
動作方法としてはcgi-binフォルダにpythonスクリプトを入れてcgiで動かしており、ウェブアプリ自体は動作しております。
不具合の内容は「htmlコードを書いたtxtファイルを読み込んで、print(htmlコードの内容)で出力したいが、何も表示されない」というものです。
原因を探るため、シンプルに print("a"), print("あ") などとためしたところ、「a」は表示されましたが「あ」は表示されませんでした。日本語のエンコードの問題だと考え、念のため、cloud9のターミナルでlocaleを全て「"ja_JP.UTF-8"」と変更しました。pythonコードはすべてutf-8で出力するよう統一しております。
ソースコードを以下に記載します。解決方法を教えていただけると幸いです。
#! /usr/bin/env python3
import cgi ; form = cgi.FieldStorage()
import cgitb ; cgitb.enable()
print("Content-Type: text/html ;charset=utf-8") ; print()
formをpythonに受け渡す
LOG_FILE = form.getvalue("file","text/循環器.txt")
search = form.getvalue("search","").strip()
andor = form.getvalue("andor","and")
HTMLを出力
head = "<meta charset='utf-8'><title>PROJECT KEIMY</title><link href='/stylesheet.css' rel='stylesheet' type='text/css'></link>"
body = "<body name='main' style='background:skyblue ; font-size:15'></body>"
print(head)
print(body)
s="あ"
print(s) # 以下割愛しますが、これですら表示されません。s="a"なら表示されます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/09 17:56
2017/08/09 18:07 編集
2017/08/09 23:58
2017/08/10 07:35
2017/08/10 09:24