- 締切済み
pythonファイルの文字化け
MAMPを通じて以下のpythonファイルをchromeで表示したのですが、日本語の部分が文字化けしてしまいます。 #!C:/MAMP/bin/python/bin/python #coding:utf-8 print "content-type: text/html" print "" print "こんにちは" 全面的に参考にしたudemyのサイトで解決法を質問したのですが、 「Chromeの言語判定が空振りしているようなので、 <html lang="ja"> とhtmlタグのlang属性を追加して再読み込みしてみてください。」 と言われました。 しかし、pyファイルのどこにこのhtmlタグを入れるのか理解できません。 chromeのデベロッパーツールでこのタグを追加しても変わりませんでした(そもそも根本的解決になっていません)。 どのようにして解決すれば良いのでしょうか。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- qtn51
- ベストアンサー率19% (15/76)
>なんで全くの初心者に3が初心者向けということを知っていると思ったんですか? 普通プログラミング始める時に下調べするよね? 主流のプログラミングの方が情報も探しやすい 日本語の関連サイトは多いのか 自分の目的に合ってる言語なのか バージョンの違いが有れば互換性はどうなのか、将来的にはどちらを覚えた方が良いのか? などなど、初心者でもこの程度のことは考え付くと思いました! 失礼しました
- wormhole
- ベストアンサー率28% (1626/5665)
通信プロトコルはhttpプロトコルだけど出力してるのはhtmlではなく、ただのテキストなので text/html ではなく text/plain で、文字セットは#coding:utf-8と書いてありますから utf-8でしょうから、 print "content-type: text/html" ↓ print "content-type: text/plain; charset=utf-8" になるかと。 また、そのpythonファイルはBOMなしのutf-8で保存する必要があるかと思います。
- qtn51
- ベストアンサー率19% (15/76)
print "こんにちは"ということは2系ですよね? なんで初心者なのに3系使わないんですか? 言語問題が起きにくい3系で同じ課題をやって切り分けをしてみたらどうでしょうか?
お礼
学習中の講座に沿ってコードを入力しているだけです。 なんで全くの初心者に3が初心者向けということを知っていると思ったんですか?
- myuki1232
- ベストアンサー率57% (97/170)
ont_rt さん、こんにちは。 多分こうです print "こんにちは" ↓ print "<html lang="ja">こんにちは<html>"
お礼
回答通りに試してもエラーが出るだけですね。
お礼
仰られた通りにコードを入力すると正しく表示されました。 ありがとうございます。 通常のhtmlファイルや、firefoxで表示した場合(firefoxだと修正前のpyファイルでもそのまま正しく表示されました)とテキストの書式が(text/plainのため?)やや異なるのですが、統一したい場合は書式の指定をなんらかの方法で行って調整するのでしょうか。 この先勉強してわからなくなったらまた質問させていただきます。