ホームページ > 記事 > ウェブフロントエンド > SafariのCookie設定が中国語で失敗する
最近、H5 はウィンドウ オペレーティング システムであるため、開発とデバッグを容易にするために、Chrome ブラウザ上で直接テストを実行し、その後 Android マシン上でモバイル テストを実行しました。機能はほぼ完成しましたが、元々 Android 上で動作させると、通常のアプリケーションを IOS 上で動作させると、Cookie に値が存在しないため、関連する情報が取得できないことが判明しました。
最初は、Cookie の中国語の文字化けの問題かと思いましたが、後で、Cookie の値がまったく正しく割り当てられていないことがわかり、ネットで情報を確認したところ、Safari では非対応であることがわかりました。 ASCII でエンコードされた値。つまり、中国語の文字は保存できません。
この問題を解決するには、Cookieの値を最初にエンコードし、値を取得したときにデコードする必要があります。
バックエンドは asp.net を使用して Cookie を設定し、フロントエンドは Javascript を使用して取得します。エンコードとデコードは一貫していますか?現時点では試してみるしかありません:
いくつかの方法を試したところ、HttpUtility.UrlEncode() によるエンコードが成功したことがわかりました。
リーリーリーリー
decodeURIComponent() と C# の HttpUtility.UrlEncode() はペアになっています。