##たどり着きたい状態
まず、理想のWebサイトでの表示ですが、以下のようなものを目指しています。
タイトル:CGIscript_test webサイト本文: これはpythonで動的に生成されたHTMLです。 今日は(今日の日付)です
表示を行うために次のようなスクリプトを書いて出力してみました。
##■その1:日本語文字列が含まれる場所にuをつけておく。
#!/usr/bin/python # -*- coding: utf-8 -*- import datetime import cgitb cgitb.enable() to_day = str(datetime.date.today()) print 'Content-type: text/html\n' print """ <!DOCTYPE html> <html> <head> """ print """<title>CGIscript_test</title> </head> <body> """ print u"""これはpythonで動的に生成されたHTMLです<br> 今日は%sです</body></html> """%to_day
その1の出力結果は、
エラー発生・(タイトルは無事に表示されている)
Traceback (most recent call last): File "(自分のPCのパス)/cgi-bin/test.py", line 21, in <module> """%to_day UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
代入のところがうまくいってないのでしょうか・・・このエラーをどう改善すればよいのか分かる方、ぜひご協力いただきたいのです。
##■その2 その1でuをつけておいた場所のuを取り除いてみる。
#!/usr/bin/python # -*- coding: utf-8 -*- import datetime import cgitb cgitb.enable() to_day = str(datetime.date.today()) print 'Content-type: text/html\n' print """ <!DOCTYPE html> <html> <head> """ print """<title>CGIscript_test</title> </head> <body> """ print """これはpythonで動的に生成されたHTMLです<br> #その1のときにここにあったuを取り除きました 今日は%sです</body></html> """%to_day
その2の出力結果は、
文字化け発生(タイトルと日付は無事に表示されている)
縺薙l縺ッpython縺ァ蜍慕噪縺ォ逕滓�縺輔l縺櫞TML縺ァ縺� 莉頑律縺ッ2016-05-23縺ァ縺�
##日本語出力の処理と数値の代入で混乱しています。その1、その2を乗り越えるためにはどう書けばいいのかもしお分かりのかたがいらっしゃったら、ご協力いただますと大変助かります。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー