![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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で質問しましょう!
似たような質問が見つかりました
- その他(SNS・コミュニケーションサービス) 【至急】Microsoft teamsログインできないループ・・ 3 2023/05/17 13:17
- CPU・メモリ・マザーボード AMD CPUの再生支援、ハードウェア動画エンコード機能について 1 2023/08/26 22:16
- 知的財産権 ピクサベイの著作権フリー写真の規約について。このような写真の使い方はOKでしょうか? 2 2022/10/28 11:02
- 眼・耳鼻咽喉の病気 白内障手術で単焦点レンズを入れた方 術後の見え方を教えて下さい 1 2023/01/17 01:53
- 日用品・生活雑貨 五千円の形のクッキー 1 2023/03/21 17:48
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- 財務・会計・経理 消費税簡易課税制度選択届出書について 2 2023/03/20 16:19
- 事件・犯罪 刑法についてだれか助けてください。 2 2022/06/05 04:08
- Excel(エクセル) Googleスプレッドシートで、あるセルの値に応じて行を自動挿入したい 急いでいます! くわしい方、 3 2023/03/06 19:05
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
ブレーカー落ちで壊れたりしな...
-
VBAで「"」[']をエスケープする...
-
メモ帳(テキストデータ)をExc...
-
ACCESS VBA インデックスが有効...
-
CString型の文字列連結について
-
不規則なデータのfft処理
-
ユーザーフォームのテキストボ...
-
VBAのコードに関してです。
-
PIC12F675 キャリブレーション...
-
Matlab:plotで特定の値だけをプ...
-
二分探索の平均探索回数
-
S9タイプからXタイプにデータ...
-
ActiveReportについて
-
【エクセル】測定時間がバラバ...
-
csvファイルに複数行あるデ...
-
ノイズの入った波形をきれいな...
-
GETはできるがPOSTができない、...
-
エクセルで2つの時系列のデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
この行は既に別のテーブルに属...
-
VBAを使ってOutlookメール本文...
-
VBA 空白セルを削除ではない方...
-
S9タイプからXタイプにデータ...
-
多量のSUMIF式を軽くしたい
-
Accessで該当データにフラグを...
-
[C言語] コメント文字列を無視...
-
[エクセル]データの個数が2番目...
-
エクセルで2つの時系列のデー...
-
特定のデータの抽出方法を教え...
-
外部データの更新がうまくでき...
-
ActiveReportについて
-
CString型の文字列連結について
-
ユーザーフォームのテキストボ...
-
カンマからスラッシュに
-
シーケンサにパソコンからアク...
おすすめ情報