PHPでのCGIパッケージ開発パソコンよろず攻防 |→サイトマップお問い合わせPHPでのCGIパッケージ開発-パソコンよろず攻防
《記事番号:41》 2016-08-08 14:37:42
最近の、別の記事を探す

【タイトル】
phpのバージョンアップで文字が消える。原因はhtmlspecialcharsのencodingデフォルト
【キーワード】
php,バージョンアップ,文字,消える,htmlspecialchars,encoding,デフォルト
【内容】
 サーバーはXREAを使っています。拡張子cgiで動作させているものも含めて、php7への移行確認をしていました。cgiの先頭行末尾でバージョンを選べます。全部55(php5.5)で動かしているつもりでしたが、末尾にバージョンを示す数字を付けてないものがありました。
 いきなり7にする前に55を付けて確認したら、末尾に数字なしの状態で正しく表示されていた文字が出なくなりました。cgiはシフトJISでエンコードしています。
 原因はhtmlspecialcharsのencoding省略時のデフォルトでした。渡したデータの文字コードとencodingの文字コードが異なる時は、データが戻らないようです。
デフォルトはPHPのバージョンによって異なります
PHP 5.6.0 以降---------default_charsetの値を使います
PHP 5.4 と PHP 5.5 ----UTF-8
5.4以前----------------ISO-8859-1
 5.5で正しく動作させるにはencodingに(この場合は)シフトJIS明示指定が必要。7で動作させるにはdefault_charsetで(この場合は)シフトJIS明示指定が必要でした。
 このサイト本体とサイトを作るための自作簡易CMSはUTF-8にするのと同時に5.5に移行したので、エンコード省略しても、デフォルトの問題は顕在化せず、通り過ぎて来たのです。
ブラウザに関するTips
 ブラウジングに関する話なので、雑談部屋でなく、失敗から学ぶPHPページに入れておきます。

IE9
 Windows7のTipsですが、IE9に分類しておきます。
Microsoft-ブラウザ上のリンク先を新規にタブで開く
 私は今まで、テキストリンクを別タブで開くときは右クリックから行っていましたが、この方法が早いです。
 後、私はお気に入りバーを好んで使っていますが、その中のタブを出すのに、新規タブをクリックしてから、お気に入りバーをクリックしていましたが、お気に入りバーからドラッグする事で簡単に別タブで開くことができるようになりました。
 
検索


OR検索AND検索
更新履歴
追加・更新されたブロックの内容を自動的に表示しています。
メニュー
このサイトは
XOOPSのブロック管理の考え方を参考にして作った自作ツールで作成しています。

このサイトは、全ページどのページからでもリンクフリーです。
VECTORから公開中
2012/01/17 いーじー・フリーメールを 国内最大級の フリーソフト ダウンロードサイトVECTORから公開中
デモ版使用はここをクリック
詳細は以下のVECTORページからご覧ください。
いーじー・フリーメールの詳細情報