こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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のデベロッパーツールでこのタグを追加しても変わりませんでした(そもそも根本的解決になっていません)。
どのようにして解決すれば良いのでしょうか。

投稿日時 - 2018-09-16 15:35:10

QNo.9537904

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

>なんで全くの初心者に3が初心者向けということを知っていると思ったんですか?

普通プログラミング始める時に下調べするよね?

主流のプログラミングの方が情報も探しやすい
日本語の関連サイトは多いのか
自分の目的に合ってる言語なのか
バージョンの違いが有れば互換性はどうなのか、将来的にはどちらを覚えた方が良いのか?
などなど、初心者でもこの程度のことは考え付くと思いました!

失礼しました

投稿日時 - 2018-09-18 19:06:44

ANo.3

通信プロトコルは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で保存する必要があるかと思います。

投稿日時 - 2018-09-17 09:03:48

お礼

仰られた通りにコードを入力すると正しく表示されました。
ありがとうございます。
通常のhtmlファイルや、firefoxで表示した場合(firefoxだと修正前のpyファイルでもそのまま正しく表示されました)とテキストの書式が(text/plainのため?)やや異なるのですが、統一したい場合は書式の指定をなんらかの方法で行って調整するのでしょうか。
この先勉強してわからなくなったらまた質問させていただきます。

投稿日時 - 2018-09-18 15:48:58

ANo.2

print "こんにちは"ということは2系ですよね?
なんで初心者なのに3系使わないんですか?

言語問題が起きにくい3系で同じ課題をやって切り分けをしてみたらどうでしょうか?

投稿日時 - 2018-09-16 22:02:18

お礼

学習中の講座に沿ってコードを入力しているだけです。
なんで全くの初心者に3が初心者向けということを知っていると思ったんですか?

投稿日時 - 2018-09-18 15:51:40

ANo.1

ont_rt さん、こんにちは。

多分こうです
print "こんにちは"

print "<html lang="ja">こんにちは<html>"

投稿日時 - 2018-09-16 15:52:30

お礼

回答通りに試してもエラーが出るだけですね。

投稿日時 - 2018-09-16 19:37:56

あなたにオススメの質問