(閉じる)

タグ :

コンピュータ・IT 204 users このエントリーをはてなブックマークに追加

徳丸浩の日記: PHP5.4のhtmlspecialcharsに非互換問題

2011年11月7日月曜日 PHP5.4のhtmlspecialcharsに非互換問題 PHP5.4.0から、htmlspecialchars関数のデフォルト文字エンコーディングがISO-8859-1(Latin-1)からUTF-8に変更されます。これに伴い、従来動いていたアプリケーションが動かなくなるケースが出てきます。典型的には、以下の両方の条件に該当するアプリケーションは、マルチバイト文字が表示されなくなります。 内部文字エンコーディングとしてEUC-JPまたはShift_JISを用いている htm... > このページを見る

最終更新時間: 2011年11月07日08時29分
▼ブログで紹介する

このエントリーに含まれている商品

改訂版 今すぐ導入!PHP×PostgreSQLで作る最強Webシステム (Gihyo Expert Books)

みんなのブックマーク 人気(10) 新着

  • php.iniとかで指定できたりしないんだ…。 2011/11/07

    4 RT

    • @ockeghem それを探したのですが、UTF-8でハードコーディングされていました RT @katzchang: php.iniとかで指定できたりしないんだ…。
  • mbstring.internal_encoding=UTF-8にするのって、そんなに「一筋縄ではいかない」ですか? 2011/11/07
  • 日記書いた 2011/11/07

    20 RT

    • @yagi_ うふふー、この2年くらいは必ず第3引数を指定していたオレ勝ち組 RT @ockeghem: 日記書いた
    • @murakag1 すごく丁寧な解説。つーかなんでこんなつまんないとこで仕様変えちゃうんだよ… RT @ockeghem: 日記書いた
  • trunkを監視してみると、未だに文字コード周り変更入ってるし(といっても常に規格更新されるわけだしいいのだろうけど)、mb_*** のあたりの変更だけはなるべく社内共有したほうがいいな 2011/11/07
  • 文字コードに泣かされる人多いね( ・´ω・`) - 徳丸浩の日記: PHP5.4のhtmlspecialcharsに非互換問題: 2011/11/07
  • ご注意 2011/11/07
  • 「(1)プログラムを修正してhtmlspecialchars関数の第3引数を明示する」が一筋縄じゃない理由が不明。機械的処理で済むし、後方互換性も問題ないよね。 2011/11/07
  • 西洋製のオープンソースプロジェクトとかの自動的な日本語(など)対応がまた進むので良い仕様変更だと思う 2011/11/07
  • PHP使うときは全部ラッパー経由で標準関数呼ぶようにしたほうが良さそうだな 2011/11/07
  • 「PHP5.4.0から、htmlspecialchars関数のデフォルト文字エンコーディングがISO-8859-1(Latin-1)からUTF-8に変更」mbstring.internal_encoding / 仕様がない 2011/11/07
  • これだ。WARNINGやNOTICEも無く問答無用で空文字返してくるとかもういきなりツンデレ。 ◆徳丸浩の日記: PHP5.4のhtmlspecialcharsに非互換問題 2012/03/24
  • UTF-8で作っていれば問題はないんだろうけど、htmlspecialcharsの第三引数は絶対指定するって認識の方がやっぱりいいね 2011/11/10
  • mb_substrとかでも第4引数を指定してないコードのお陰でサーバ移行時に死にそうになった事あるわ。引数は出来る限り指定しておいたほうが無難。 2011/11/10
  • うみゅ☆ これは UTF8 移行前に構築して放置してるところにはくりーんひっとしそうなのです...〆(・x【みかん 2011/11/08
  • PHP5.4のhtmlspecialcharsに非互換問題 2011/11/08
  • PHPが糞って言われんのはこういうところなんだろうけど。 2011/11/08

    2 RT

    • @Bentham3314 後で読むRT @it_boy: PHPが糞って言われんのはこういうところなんだろうけど。
  • 大事なのであとでまた読む。 2011/11/08
  • EUC-JPもしくはShift_JISを使ってて、第3引数を指定していない場合、従来と動作が異なる。メモ。 2011/11/08
  • また非互換ですかー。何となく今でもh()作って誤魔化してるなぁ 2011/11/07
  • 5.4.0以降とそれ以前の非互換性 2011/11/07
  • 自前でラッパー書くのが現実解かもしれないけどそれはそれでなんかhx53() hx54() hx55()みたいに増殖する未来が見えてなんともいやだなあ(笑)←包括したラッパー書けよ 2011/11/07
  • ギョッとしながら読んだが追記部分で一息ついた感じ。とはいえ影響はでかいなー。 2011/11/07
  • 構築の際の参考に 2011/11/07
  • PHP使うときは全部ラッパー経由で標準関数呼ぶようにしたほうが良さそうだな 2011/11/07
  • お、おう… 2011/11/07
  • それはともかく、PHPコミュニティって「htmlspecialchars」って長ったらしい関数が受け入れられてる現状に疑問を持たないの… 2011/11/07
  • 影響大きそうだな。 2011/11/07
  • 西洋製のオープンソースプロジェクトとかの自動的な日本語(など)対応がまた進むので良い仕様変更だと思う 2011/11/07
  • 徳丸浩の日記: PHP5.4のhtmlspecialcharsに非互換問題 2011/11/07
  • PHPはそろそろreal_htmlspecialchars的なものを作るべきなんじゃないだろうか。 2011/11/07

このブックマーク一覧を非公開にするには?

はてなブックマークはオンラインでブックマークを管理・共有できる無料サービス。自宅、職場、外出先、どこからでも同じブックマークにアクセスできます。ユーザーはみんなでブックマークを共有して効率良く情報収集しています。あなたもはてなブックマークを始めてみませんか?

このエントリーを含む日記(3)