
JavaScriptでクッキーを作成する為に『とほほ』へ行ったところ、
クッキーの値はエンコード/デコードする必要があると書かれていました。
今日まで2年間ずっと知らないままJavaScriptやCGIでクッキーの読み書き処理
をしていました。
とほほにはその詳しい理由が書かれておらず、
他のウェブサイトでも理由が見つからなかったので教えていただけたら幸いです。
やはりエンコードが必要ということは異なるOS間で不具合が起きるということで、
自分のマシンで動作チェックするだけでは不具合は発見できないということなんでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
例えば以下のデータのような場合に困るからです。
A は 「1=2」
B は 「&」
というデータをクッキーに書き込むと
A=1=2&B=&
で、読み込み&分解するときに
制御記号の=なのかデータの=なのか判断がつかなくなってしまいます。
そこでエンコードしたデータを用いるとデータの=や&などがコードに変換されるため正常に読み書きが可能になるっということです。
この回答への補足
ありがとうございました。
とほほのhttp://tohoho.wakusei.ne.jp/wwwcook.htmでは、
『Cookieの値では、=や;などの特殊記号や日本語文字は %82%A0 のような形式にエンコードして記録しておき、読み出し時にこれをデコードしてやる必要があります。』
と書かれており、この"日本語文字"という言葉に『ということはOSに依存するから必要ということか?』と思ってしまいました。
では、=や&、;、スペースなどを値に使用しなければ、日本語をそのままクッキーに記録しても支障はないということでいいのでしょうか?(Windows 98/Me + IE5/6で今までそうやって来たのですが)
No.2
- 回答日時:
OSに依存するというのも70点くらいで正解なのですが、正確には文字コードに依存します。
Windows=シフトJIS
Mac=シフトJIS?
Linux=EUC
HP-UX=シフトJIS
とOSにより標準となっている文字コードが異なります。
またこれは、標準であって設定を変更することも可能です。
ただ言えるのは英数字だけの場合は、各文字コードで共通のコードを使用するためエンコードしなくても正常に動作します。
大変丁寧に解説いただきありがとうございました!
ということはシフトJISの文字化けと同じ問題なのですね。
では、やはり一般的なユーザを対象にするならエンコードは必須なわけですね。
各ユーザの既存のクッキーの変更をかけるのは非常に難しいですが、
少しずつエンコードされたクッキー情報に修正したいと思います。
重ねてお礼します。大変ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
多量のSUMIF式を軽くしたい
-
Excel VBAでのオートフィルター...
-
この行は既に別のテーブルに属...
-
メモ帳(テキストデータ)をExc...
-
ActiveReportについて
-
ACCESSからEXCELに出力する際、...
-
VB RS-232C 通信プログラム
-
[C言語] コメント文字列を無視...
-
VBA 空白セルを削除ではない方...
-
データ取得時のエラーに関して
-
配列でデータが入っている要素...
-
0が含まれる幾何平均が「#NUM!」
-
エクセルで2つの時系列のデー...
-
ユーザーフォームのテキストボ...
-
DataGridViewのデータの引渡し...
-
python, 空のタプルの必要性
-
[COBOL]日付比較
-
SWTで作ったテーブルの内容をコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
配列でデータが入っている要素...
-
<VB>String→Object
-
二分探索の平均探索回数
-
多量のSUMIF式を軽くしたい
-
EXCELVBAでSQLserverからデータ...
-
この行は既に別のテーブルに属...
-
ユーザーフォームのテキストボ...
-
VBA 空白セルを削除ではない方...
-
特定のデータの抽出方法を教え...
-
パースとはなんですか?
-
C# ソケット通信でデータ受信時...
-
エクセルで2つの時系列のデー...
-
[C言語] コメント文字列を無視...
-
Accessで該当データにフラグを...
-
カンマからスラッシュに
-
C# でDataTableの更新を高速化...
-
アクセス2000で画像データ...
おすすめ情報