PR
Calendar
Category
Comments
Keyword Search
おこんばんは!
なんなんだ、今日のこの蒸し暑さは!!
っちゅうことで、今日は "Cookie" について。
"Cookie"
今日は専門的な内容やから、テキト~に読み飛ばしてちょ!
今、個人で請け負っとるホームページ作りの仕事の中で、ショッピングカートを作りよる。そのショッピングカートでCookieを使用するんやけど、これが実に難儀。
JavaScriptでCookieを書き込んでPerlで書き込んだCookieを読み込む、ってことを試みよるんやけど、Cookieに日本語を使うから、URIエンコード・デコードをせなあかん。PerlでエンコードしてPerlでデコードするんやったら別に何の問題もないんやけど、JavaScriptでエンコードしてPerlでデコードしようとしとるから、さぁ大変!
JavaScriptでURIエンコードする場合、escape関数、encodeURI関数、encodeURIComponent関数、っちゅう3つの関数があるんやけど、このどれを使えばええんやよう分からん!
僕なりにテストした結果、escape関数は全くお話にならず、他の2つはよう似てはおるけど、encodeURI関数は";"以下の文字列を認識せず、encodeURIComponent関数は認識する。(ちゃんと仕様書見てないから分からんけど、他にもencodeURI関数で認識せえへん文字があるかもしれん。)
encodeURIComponent関数を使えば大丈夫そうやけど、問題はencodeURI関数もencodeURIComponent関数もUTF-8(Unicode)でエンコードされとるってこと。(たぶん、JavaScriptの内部コードがUTF-8のためと思われる。)
これまで全ページの文字コードをEUC-JPで書きよったから、そのままPerlでデコードしたら、文字化け化け!
この際、全部UTF-8に書き換えよかなぁ?けど、それはそれで新たな問題が発生しそう、、、。
いずれにしても、ちゃんとJavaScriptでのURIエンコードについて調べなあかんなぁ、、、。はぁ~、面倒臭い!
ほなほな!
無常な日常 Vol.817 - ブログ終了!? 2009.09.02 コメント(2)
無常な日常 Vol.816 - くまくま 2009.09.01
無常な日常 Vol.815 - 自民党大敗 2009.08.31