1141312 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

カテゴリ

カテゴリ未分類

(51)

ロックマン

(83)

 ゲームギア MEGAMAN

(4)

 ロックマンXover

(48)

 激突カードファイターズ

(13)

FLASHゲーム!

(10)

ホームページ

(32)

スパークスター・ロケットナイト

(5)

魔導物語・ぷよぷよ

(25)

モンスターメーカー

(3)

甲竜伝説ヴィルガスト

(5)

コープスパーティー

(23)

パズル&ドラゴンズ(パズドラ)

(9)

ATARI LYNX

(4)

ゲームポケコン

(1)

Xbox360

(35)

 カオスヘッド

(12)

 シュタインズゲート

(21)

 ロボティクスノーツ

(3)

 インスタントブレイン

(8)

 キャサリン

(13)

 DanceEvolution

(17)

 ライズオブナイトメア

(8)

 ファントムブレイカー

(6)

ニンテンドーDS・DSiウェア・3DS・Wii

(21)

 ドラゴンクエストXオンライン

(30)

 PXZ(プロジェクトクロスゾーン)

(6)

 ドラクエモンスターズ テリワン3D

(16)

 善人シボウデス

(6)

 熱血硬派くにおくんすぺしゃる

(6)

 スーパーマリオ3Dランド

(4)

 ラビ×ラビ

(10)

 邪聖剣ネクロマンサーNIGHTMARE REBORN

(13)

PSP・PSN・PS3・PS Vita

(17)

 ToHeart2 ダンジョントラベラーズ / 2

(19)

 ファンタシースターポータブル2

(24)

MD・GG・SS・DC

(4)

WS・WSC

(3)

NEOGEO・NGP・NGPC

(2)

FC・SFC・GB・GBA

(10)

PCゲーム

(5)

その他ゲーム(掘り出し物探しなど含む)

(50)

可愛いは正義☆

(33)

食べ物

(30)

音楽・ゲームサントラ

(24)

アニメ

(4)

漫画・雑誌

(51)

知的好奇心

(67)

仕事関係

(37)

プログラム

(8)

コンピュータ

(8)

プロフィール

Mura-bal

Mura-bal

カレンダー

楽天カード

コメント新着

マイケル村田@ 個人的にお勧めなゲームギアタイトル(マイケル村田) 燃費がアメ車級の消費で有名なゲームギア…
名無し0112@ Re:PCゲームの「ロックマンX4」をやってみた!(02/09) やってみたんですがセーブができませんで…
グルーク@ 私のクルーク様の道のりは長い 私のクルーク様までの道のりは長いです赤…
Mura-bal@ クルークさん来ない… >いろいろさん >連鎖の形を考える練習…
いろいろ@ 最後に不覚にも クスッときてしまいましたw 連鎖の形を考…
2012/09/28
XML
カテゴリ:プログラム
たまには備忘録書きます猫

久々にPHPのバージョンを更新したら構築してたWebシステムが従来通りに動作しなくなりました.

症状としては,日本語だけがHTMLに表示されないという問題ダッシュ

アルファベットは問題なく出力されている状態ひらめき

で,内部的にマルチバイトデータがブツ切りにでもなってるのかと思って確認してみたら,特に問題なし.

というかデバッグ用に入れたコードで普通に日本語表示されているので,既存の日本語を出力しているモジュールに問題があることが判明!

でで,画面に文字を出力する際にはHTMLのタグを無害化するためにサニタイジングをする訳なんだけど,これに使用しているのがhtmlspecialchars()なのである.

ふむむ,こいつがあやしい…!

リファレンスを見に行くと,PHP5.4.0からhtmlspecialchars()の仕様が変わっとるやんけーーーっ!!

大型のアップデートなら分かるけど,ごく普通のバージョンアップでこういった仕様変更はさすがです先輩失敗

ででで,具体的にはhtmlspecialchars()のデフォルト値がISO-8859-1からUTF-8に変更されました.

これにより,第3引数のオプションを省略して日本語出力してた場合は,文字コードによっては文字が出力されないことになります.

ですので,Shift-JIS環境だったので下記のように指定することで無事回避きらきら

htmlspecialchars($ROCKMAN, ENT_COMPAT | ENT_HTML401, 'Shift-JIS')

$ROCKMANはサニタイジングしたい変数であるゾ.

第2引数は,デフォルト値を記述していますが,詳細は下記を参照.

htmlspecialchars PHP リファレンス

htmlspecialchars()の数が多かったらちぬとこだったけど,出力は一まとめにしてたらか影響範囲は少なかったよひよこ

何となくオプション気にしないで使う関数多いので,これからはちょっとは気にして引数を指定する形にした方が良いのかなぁと思いましたねぇ~スマイル

こういった切り分けは楽しいなぁ音符

…あぁ,飲み会でコーラ飲み過ぎてたぷんたぷんですー(´・ω・`)


【1000円以上送料無料】10日でおぼえるPHP5入門教室/山田祥寛【100円クーポン配布中!】


PHP徹底攻略シリーズ【1000円以上送料無料】PHP4→PHP5移行ガイド いまこそPHP資産をマイグレーション/桑村潤【100円クーポン配布中!】





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2012/09/28 10:17:54 PM
コメント(2) | コメントを書く


サイド自由欄


© Rakuten Group, Inc.