質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

4252閲覧

ローカルホストからhtmlを表示しようとすると文字化けします。プログラムから開けば文字化けしません。

potet

総合スコア17

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/02/15 02:27

編集2020/02/15 10:29

イメージ説明イメージ説明ローカルホストからhtmlを表示したいのですが文字化けします。理由が分かりません。エクスプローラーからファイルを選択して「プログラムから開く」を選択しブラウザで表示しようとすると文字化けしません。http://localhost/test/enquete.htmlからhttp://localhost/test/post.phpをうまく表示させたいです。この二つのファイルのうちhtmlファイルだけがうまく表示されません。プログラムから開くを選択すると、今度はPHPファイルの方が表示されなくなります。ローカル環境で二つを表示させる方法はありますか。よろしくおねがいします。

<html> <head> <meta http=equiv="Content-Type"content="text/html; charset=UTF-8"> <title>送信テスト</title> </head> <body> <h1>アンケート</h1> <form action ="post.php" method="post"> <p>お名前:<input type="text" name="name"></p> <p>性別: <input type="radio" name="gender" value="man">男性 <input type="radio" name="gender" value="women">女性 </p> <p>評価: <select name="star"> <option value="1">★☆☆☆☆</option> <option value="2">★★☆☆☆</option> <option value="3">★★★☆☆</option> <option value="4">★★★★☆</option> <option value="5">★★★★★</option> </select> </p> <p>ご意見</p> <p><textarea name="other"></textarea></p> <input type="submit" value="送信"> </form> </body> </html>
<?php $name=$_POST['name']; $gender=$_POST['gender']; if($gender=="man"){ $gender="男性"; }else if($gender=="woman"){ $gender="女性"; } $tmp_star=$_POST['star']; $star=''; for ($i=0; $i<$tmp_star;$i++){ $star.='★'; } for(;$i<5;$i++){ $star.='☆'; } $other=$_POST['other']; ?> <html> <head> <meta http-equiv="Content=Type" content="text/html; charset=euc-jp"> </head> <body> <h1>アンケート</h1> <p>お名前:<?php echo $name;?></p> <p>性別:<?php echo $gender;?></p> <p>評価:<?php echo $star;?></p> <p>ご意見:<?php echo nl2br($other,false);?></p> </body> </html>

環境
os windows 10

実行したこと
検索したり文字コードを変えてみたりした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

ineternet Exploreからhttp://localhost/test/enquete.htmlに接続することができました。ただ、最初は文字化けしていたためエンコーディングを見た所日本語(シフトJIS)に設定されていましたのでutf-8に変更したらちゃんと表示されました。恐らくエンコードがシフトjisになっているのだと思います。ineternet Exploreにはエンコードを変える設定がありますが、chromeには無いので、文字化けしたままだったんだと思います。ただおかしいのはエディタではutf-8に設定されていたのになぜエンコーディングが他のエンコードになっていたのか、謎です。

投稿2020/02/16 05:41

potet

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/02/16 06:20

>恐らくエンコードがシフトjisになっているのだと思います IEを避けるべき理由の1つ。
guest

0

UTF-8からeuc-jpに送ってるからかと。
charsetの話ですね。
よほどの事情がない限りひとつのアプリケーション内で混在させるべきではありません。

投稿2020/02/15 02:34

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

potet

2020/02/15 02:43

ありがとうございます。どちらもUTF-8に変えたのですが変わらず文字化けしています。
m.ts10806

2020/02/15 02:49

画面キャプチャ追加してください。あと元eucのほう、ファイルそのものの文字コードはどうなってますか?
potet

2020/02/15 08:19

すみません、無知すぎてファイルそのものの文字コードが分からないのですが、改行コードっていうやつの事でしょうか。改行コードはCR LFでした。FCCheckerで調べたら文字コードの方はutf-8に変更したままになっています。
otn

2020/02/15 10:03

> どちらもUTF-8に変えたのですが 具体的にどういう操作をしましたか?
potet

2020/02/15 10:08

回答ありがとうございます。 charsetの所をutf-8に変更しました。
otn

2020/02/15 10:13

> charsetの所をutf-8に変更しました。 エディタで、ファイル保存時にエンコーディングUTF-8を選択して保存します。
potet

2020/02/15 10:24

エンコーディングというものがあるのですね。 エディタはアトムを使っているのですが、下の所にどちらもUTF-8という表記がありました。
m.ts10806

2020/02/15 10:49

今のファイルバックアップとって新規で作り直した方が確実かもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問