PHP 確認画面フォームの文字化け

htmlでフォームを作り、phpで確認画面を表示させる際にhtml部分の日本語が文字化けします。
以下の例で、修正できる箇所があれば教えて下さい。
なお、両ファイル共にutf-8で保存しており、使用ソフトはDreamweaver CCです。

1.HTMLファイル
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>お問い合わせ</title>
</head>
<form method="POST" action="php/confirm.php" accept-charset="utf-8">
<input type="text" name="LastName" size="14" value="" />
<input type="submit" name="send" value="送信" />
</form></body></html>

2.PHPファイル(confirm.php)
<?php
mb_language("Japanese");
mb_internal_encoding("utf-8");
$LastName = $_POST['LastName'];
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>送信内容の確認</title>
</head>
<body>
<form action="send.php" method="post">
■お名前:<?php echo $LastName ?><br><br>
<input type="submit" value="送信"> <input type="button" value="戻る" onclick="history.back();">
<input type="hidden" name="LastName" value="<?php echo $LastName ?>">
</form></body></html>

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/03/15 07:55:52
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:snow0214 No.1

回答回数470ベストアンサー獲得回数116

ポイント300pt

http in/outで強制エンコードされているのだと思います。
php.ini を次のように変更してください。

mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off

http://www.phpbook.jp/install/phpini/index5.html

id:consultation10

ロリポップのphp.ini設定画面で確認したところ、上記と同様の設定となっていました。

しかし、『mbstring.internal_encoding』を『未設定』→『UTF-8』に変更したところ文字化けが解決しました。
phpファイル内にも『mb_internal_encoding("utf-8");』と記載していましたが、この記載とphp.iniでの設定は別ものなのでしょうか?

解決へのきっかけを頂いたので、上記回答をベストアンサーとして終了します。

2014/03/15 07:55:25

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません