文字化けたらとりあえず置換


WordPressのプラグインとかオープンソースのWebアプリとかを使ってると日本語が化けることが時々あります。そんなときphpの場合はとりあえずhtmlentities()を疑っとけ、というメモ。見つけたらhtmlspecialchars()に置換してみます。

そう頻繁に出くわすわけじゃないんですが、忘れた頃に「えーと、なんだったっけ…?」というのを2回やっちゃったので:oops:

それぞれの関数の役目は<とか>とかのHTMLに影響を与える文字をエスケープすることです。ただhtmlentities()のほうは日本語(2バイトコード)を処理するなら文字コードを指定する必要があるようです。

もしかして自分用ならhtmlspecialchars()へ置換しなくても文字コードを指定するのでも大丈夫なのかしらん?くわしくは

htmlspecialcharsと不正な文字の話

を読んでみてください。

とりあえず、こんなことしなきゃいけないってことは日本語を使うユーザは非常に少ないことが予想できますので、そのスクリプトに関する日本語での情報収集は期待しないほうがよさそうです。:roll:


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です