PHPのメモ

htmlspecialchars()を使った際に日本語で入力した文字が反映されない

PHP 5.4 (CGI版)PHP 5.4.45 (cgi-fcgi) (built: Nov 10 2016 10:49:09)の環境下で以下のソースを実行してみたが、
半角英数はうまく動くのに、日本語入力をして送信を押すと真っ白になった。

<?php
  echo htmlspecialchars($_POST['message']);
?>
<html>
<form action = "form2.php" method="post">
  <input type ="text" name = "message">
  <input type = "submit" value="送信します">
</form>
</body>
</html>

回避方法

<?php
  echo htmlspecialchars($_POST['message'],ENT_QUOTES,'SJIS');
?>

htmlspecialcharsの第三引数まで記述する。

<html lang = "ja">
<head>
  <meta charset ="UFT-8">
</head>
<body>
<form action = "form2.php" method="post">
  <input type ="text" name = "message">
  <input type = "submit" value="送信しまっす">
</form>
</body>
</html>

UTF-8の文字セットをする。

実際のページはこちら
サンプルはこちら

PHP 5.4 以降の仕様変更

PHPのサンプルコードがバージョンが5.3など向けに書いてあったりするものを、PHP5.4以降の環境下で実行するとこのようになる。
まず、サーバーのPHPのバージョンを確認してみましょう。
また、このhtmlspecialchars()を使ったコードをPHP5.4の環境下で動かす場合は、この仕様変更を考慮して十分にテストして見る必要があります。

・PHPの仕様についてはこちら
http://php.net/manual/ja/function.htmlspecialchars.php

関連時事

instagramのTLを表示させるように実装しました... Ari-NETのWebサイトにInstagramのTLを表示させるように実装しました。 最近、見かけるのですがなかなか載せ方とかわかりづらいですよね。 とりあえずの表示なので他サイトから引っ張ってくる方法なのですが、現在、自力で引っ張ってく方法も試しております。 フリーのwidgetを活用する...
事務服 Aライン スカート ESS666 シンプリティ... 事務服 Aライン スカート "シンプリティ" 事務服 Aライン スカート “シンプリティ” 事務服のスカートの定番ラインナップのAライン スカート エンジョイからバーリュープライスにてお買い求めやすくなった商品が出ました。 色は2色(ネイビー・ブラック)です。 事務服 Aラ...
makita マキタ ペンインパクトドライバー TD022DSHX... ■makita(マキタ)ペンインパクトドライバー TD022DSHXバッテリBL0715×2本・充電器DC07SB・アルミケース付 (青、白、黒の3色)の購入はこちらから makita(マキタ)ペンインパクトドライバー TD022DSHX バッテリBL0715×2本・充 電器DC07SB・アル...
楽天市場からヤフー・ショッピングにCSVを使って移行する方法【CSVファイルの準備編】... 用意するもの・こと 楽天市場でFTPが使えるようにする。 マイクロソフト社 Access テキストエディタ(当方は秀丸エディタを仕様) FTPクライアント (FFFTP) 画像ダウンロードソフトirvine RMSよりCSVをダウンロードする 楽天市場のRMSから1-1...
下町ロケット コラボ商品 下町ロケット x しまむら... 下町ロケット コラボ商品 下町ロケット x しまむら 下町ロケットのコラボ商品が、しまむらから10月24日から発売された模様です。 劇中に出てくる会社のロゴが入った商品にくわえて、それぞれのキャラクターの名刺ステッカーが付くようです。 https://www.shimamura.gr.jp...
makita(マキタ)TD022DSHXバッテリBL0715×2本・充電器DC07SB・アルミケース... TD022DSHX TD022DSHX makita(マキタ)TD022DSHXバッテリBL0715×2本・充電器DC07SB・アルミケース付 D022DSHXはmakita(マキタ)のペンインパクトドライバーのセットになります。 プロからDIY向けにと幅広いユーザーから好ん...
空調服 まとめ 空調服 まとめ ざっくりいうと ・空調服はバッテリーでファンを使って空気を外から入れて中の空気を対流させる服 ・この服を開発したのは元ソニーの市ヶ谷氏 ・現在はDIYのメーカーなどもOEMも含め色んなものが出回るようになりました。 最近、暑い日が続きますね。軒並み、35度などを通り...
Nike+ SportWatch と Nike.comがサービス終了してた... Nike+ SportWatchが同期できない 久しぶりにNike+ SportWatchをつけてランニングして走った経路をアップしようとパソコンに接続したら、Nike+CONNECT がいつまでたってもログインしない状態が続いた。 「あれっ!?」と思い、NIKEPULUS.COMにアクセすると...

シェアする

  • このエントリーをはてなブックマークに追加

フォローする