M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2010年5月12日 23:40

値を見てunescapeとdecodeURIを使い分ける

このエントリーをはてなブックマークに追加 mixiチェック

僕がかつて作ったファイル送信のウェブページに、他の人が新しく作ったページでの入力を差し込むため、Cookieを使うっていう案件で、僕の作ったほうはCookieからのデコードをunescapeで行うのだけれども、他の人が作ったページでは、encodeURIで作っていたので、文字化けするっていう話。

これって、ハイドライドIIのマップの表示ルーチンが横方向に展開するのに、マップ担当の人が縦方向に圧縮したみたいな話だよね。この話は電波新聞社の「チャレンジ!ADV&RPG 1」あたりに書いてた記憶がある。

んで、データエンコード側の不始末をデコード側で拭うってことになるよね。こんな感じに。

function unescape2( f ) {
  if ( f.match(/%u/) ) {
    return unescape( f );
  }
  else {
    return decodeURI( f );
  }
}

そもそもunescapeつかうな、ていう話なんだけど、MacIE5対応のためには外せないんだよね……

そうそう、jQueryのCookieマネージャ、もう自動でdecode済みの値取得するようなんで、これ使えません。そもそもMacIE5だと動きませんけれどもね……

投稿 大野 義貴 [Web] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3219

コメントする