人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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>

●質問者: consultation10
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● snow0214
●300ポイント ベストアンサー

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


consultation10さんのコメント
ロリポップのphp.ini設定画面で確認したところ、上記と同様の設定となっていました。 しかし、『mbstring.internal_encoding』を『未設定』→『UTF-8』に変更したところ文字化けが解決しました。 phpファイル内にも『mb_internal_encoding("utf-8");』と記載していましたが、この記載とphp.iniでの設定は別ものなのでしょうか? 解決へのきっかけを頂いたので、上記回答をベストアンサーとして終了します。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ