タグ

エンコードに関するrockenotaのブックマーク (2)

  • PHP でシリアライズしたデータが壊れてしまう場合は base64_encode をする | ウェブル

    PHP で配列にデータを格納し serialize してデータの受け渡しをしていたら IE8 で unserialize してデータを復元することができないバグに遭遇しました。具体的には以下のようなエラーが発生。 Notice: unserialize() [function.unserialize]: Error at offset 0 of 2 bytes in /var/usr/to/path うまく値の受渡しができていないのか、途中でデータが書き換わってしまったのか、様々な問題を調査しましたがどれも該当せず3時間。Web 上で情報を集めるもそれらしい問題に遭遇してる人がおらず解決できず。 どうしようもなくなったので、30個くらいある配列すべてをひとつずつ調べてチェックしていくと、どうやら30個の中の3配列が原因だということが判明しました。日語の文字コードがおかしいのかと思

  • PATH_INFOに「%2F」が含まれていると404エラーになる(AllowEncodedSlashesで解決) « kawama.jp

    SEO対策として、PATH_INFOを使ってパラメータをphpスクリプトに受け渡す方法が一般的になりつつあります。 参考:phpスクリプトに拡張子なしでアクセスするためには 自分もこれまでさんざんこのやり方を使っていましたが、つい最近、PATH_INFOの中に「%2F」が含まれているとapacheが404エラーを返すことを知りました。ちなみに「%2F」は「/(スラッシュ)」にURLエンコードをかけた後の文字列です。 http://www.example.com/product.php/id/1234/code/ABC%2FDEF たとえば上記の例。apacheの設定がデフォルト状態だと404エラーになります。 これを解消するにはAllowEncodedSlashesをOnにします。 AllowEncodedSlashes On httpd.confやVirtualhostディレクティブにこ

  • 1