JavaScriptでクッキーを作成する為に『とほほ』へ行ったところ、
クッキーの値はエンコード/デコードする必要があると書かれていました。
今日まで2年間ずっと知らないままJavaScriptやCGIでクッキーの読み書き処理
をしていました。
とほほにはその詳しい理由が書かれておらず、
他のウェブサイトでも理由が見つからなかったので教えていただけたら幸いです。
やはりエンコードが必要ということは異なるOS間で不具合が起きるということで、
自分のマシンで動作チェックするだけでは不具合は発見できないということなんでしょうか?
よろしくお願いします。
No.2
- 回答日時:
OSに依存するというのも70点くらいで正解なのですが、正確には文字コードに依存します。
Windows=シフトJIS
Mac=シフトJIS?
Linux=EUC
HP-UX=シフトJIS
とOSにより標準となっている文字コードが異なります。
またこれは、標準であって設定を変更することも可能です。
ただ言えるのは英数字だけの場合は、各文字コードで共通のコードを使用するためエンコードしなくても正常に動作します。
大変丁寧に解説いただきありがとうございました!
ということはシフトJISの文字化けと同じ問題なのですね。
では、やはり一般的なユーザを対象にするならエンコードは必須なわけですね。
各ユーザの既存のクッキーの変更をかけるのは非常に難しいですが、
少しずつエンコードされたクッキー情報に修正したいと思います。
重ねてお礼します。大変ありがとうございました!
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で今までそうやって来たのですが)
お探しの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ランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
S9タイプからXタイプにデータ...
-
メモ帳(テキストデータ)をExc...
-
この行は既に別のテーブルに属...
-
VBにおいてフォーム間の変数の...
-
VBA 空白セルを削除ではない方...
-
大学のゼミのレポートがムカつ...
-
エクセルで2つの時系列のデー...
-
[C言語] コメント文字列を無視...
-
VBAを使ってOutlookメール本文...
-
ユーザーフォームのテキストボ...
-
シーケンサにパソコンからアク...
-
C# でDataTableの更新を高速化...
-
EXCELVBAでSQLserverからデータ...
-
Excelのマクロでワードのテキス...
-
0が含まれる幾何平均が「#NUM!」
-
WEBサイトの構築。表示データと...
-
CString型の文字列連結について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
配列でデータが入っている要素...
-
多量のSUMIF式を軽くしたい
-
エクセルで2つの時系列のデー...
-
Excelのマクロでワードのテキス...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
VBAを使ってOutlookメール本文...
-
Accessで該当データにフラグを...
-
合計3TBのデータのハッシュ値を...
-
シーケンサにパソコンからアク...
-
S9タイプからXタイプにデータ...
-
カンマからスラッシュに
-
VBAでシートからコンボボックス...
-
VBA 毎日取得するデータを順番...
-
ビットシフトについて
-
ユーザーフォームのテキストボ...
-
EXCELVBAでSQLserverからデータ...
-
特定のデータの抽出方法を教え...
おすすめ情報