ホームページ  >  記事  >  ウェブフロントエンド  >  SafariのCookie設定が中国語で失敗する

SafariのCookie設定が中国語で失敗する

WBOY
WBOYオリジナル
2016-08-04 08:53:141271ブラウズ

最近、H5 はウィンドウ オペレーティング システムであるため、開発とデバッグを容易にするために、Chrome ブラウザ上で直接テストを実行し、その後 Android マシン上でモバイル テストを実行しました。機能はほぼ完成しましたが、元々 Android 上で動作させると、通常のアプリケーションを IOS 上で動作させると、Cookie に値が存在しないため、関連する情報が取得できないことが判明しました。

最初は、Cookie の中国語の文字化けの問題かと思いましたが、後で、Cookie の値がまったく正しく割り当てられていないことがわかり、ネットで情報を確認したところ、Safari では非対応であることがわかりました。 ASCII でエンコードされた値。つまり、中国語の文字は保存できません。

この問題を解決するには、Cookieの値を最初にエンコードし、値を取得したときにデコードする必要があります。

バックエンドは asp.net を使用して Cookie を設定し、フロントエンドは Javascript を使用して取得します。エンコードとデコードは一貫していますか?現時点では試してみるしかありません:

いくつかの方法を試したところ、HttpUtility.UrlEncode() によるエンコードが成功したことがわかりました。

リーリー
クライアントサイドのJavaScriptは次のようにデコードされます:

リーリー
つまり、JavaScript の

decodeURIComponent() と C# の HttpUtility.UrlEncode() はペアになっています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。