
【言語】PHP
【バージョン】7.2.11
【サーバー】XAMPPのApache
【作ろうとしているもの】
PHPファイルとHTMLファイルで、テキストボックスと送信ボタンのみの
簡単な掲示板のようなものを作ろうとしています。
参考サイトはポンクソフトさんの「POSTメソッドのサンプル」です。
【困っていること】
- テキストボックスに文字を入力して送信ボタンを押下すると
ローマ字は入力通りに表示されますが、日本語だけ文字コードとして表示されます。
Chromeでの例)「test」と入力・送信→「test」と表示される
「あ」と入力・送信 →「あ」と表示される
MicroSoft Edgeでの例)「test」と入力・送信→「test」と表示される
「あ」と入力・送信→何も表示されない
- また、PHPのソース「htmlspecialchars」を消して直接「$_POST['message']」を
echoすると、日本語も入力した通りに表示されますが、
それだと脆弱性が発生してしまいます。。。
- エラーは吐いていないです。
PHP
1<?php 2 echo htmlspecialchars($_POST['message']); 3 ?>
HTML
1<html> 2<head> 3</head> 4<body> 5 <form action="test03.php" method="post"> 6 <input type="text" name="message"> 7 <input type="submit"> 8 </form> 9</body> 10</html>
php.iniは以下の通りに書き換えています。
ini
1default_charset = UTF-8 2 3date.timezone="Asia/Tokyo" 4mbstring.language = Japanese 5mbstring.internal_encoding = UTF-8 6mbstring.http_input = UTF-8 7mbstring.http_output = pass 8mbstring.encoding_translation = On 9mbstring.detect_order = UTF-8 10mbstring.substitute_character = none;
上記3ファイル全てUTF-8です。
かなり基礎的な質問で申し訳ないです。
宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー