ホームページ > ウェブフロントエンド > jsチュートリアル > URLエンコード js URLパラメータ送信 中国語文字化け解決_JavaScriptスキル

URLエンコード js URLパラメータ送信 中国語文字化け解決_JavaScriptスキル

WBOY
リリース: 2016-05-16 18:29:43
オリジナル
1283 人が閲覧しました
1. 設定ファイル web.config のセクションに Web サイト全体のエンコード方式を追加します。

このようにパラメータはgb2312の中国語符号化方式で送信されます。一般的なデフォルトは
2 です。パラメータを渡す場合は、送信前に最初にエンコードされ、受信時には最初にエンコードされてから受信されます。
string mm=Server.URLEncode(you);
Response.Redirect(index.aspx?mm= mm);
次に受信ページでデコードします:
string mm = Server。 URLDecode (Requext.querystring(mm));
JavaScript で URL 文字列をエンコードするには、escape()、encodeURI()、および encodeURIComponent() といういくつかのメソッドがあります。これらのエンコーディングはさまざまな役割を果たします。
escape() メソッド:
ISO ラテン文字セットを使用して指定された文字列をエンコードします。すべてのスペース、句読点、特殊文字、およびその他の非 ASCII 文字は、%xx 形式の文字エンコーディングに変換されます (xx は、文字セット テーブル内の文字エンコーディングの 16 進数と同じです)。たとえば、スペース文字に対応するエンコーディングは です。
このメソッドでエンコードされない文字: @ * /
encodeURI() メソッド:
UTF-8 エンコード形式を使用して、URI 文字列をエスケープ形式の文字列に変換します。
このメソッドでエンコードされない文字: ! @ # $& * ( ) = : / ; '
encodeURIComponent() メソッド:
UTF-8 エンコード形式を使用して URI 文字列を変換します。フォーマット文字列。 encodeURI() と比較して、このメソッドは / やその他の文字など、より多くの文字をエンコードします。したがって、文字列に URI の複数の部分が含まれている場合、このメソッドを使用してエンコードすることはできません。そうしないと、/ 文字がエンコードされた後で URL にエラーが表示されます。
このメソッドでエンコードされない文字: ! * ( ) '
したがって、中国語の文字列の場合、文字列エンコード形式を UTF-8 形式に変換したくない場合は、(元のページやtarget ページの文字セットが一貫している場合)、エスケープを使用するだけで済みます。ページが GB2312 またはその他のエンコードで、パラメーターを受け入れるページが UTF-8 エンコードされている場合は、encodeURI または encodeURIComponent を使用する必要があります。
また、javascript1.5以降にencodeURI/encodeURIComponentが導入され、javascript1.0ではエスケープが利用可能になりました。

パラメータを渡す: encodeURI("url パラメータ") を使用して URL をエンコードします
受信パラメータ: decodeURI("受信値") を使用してデコードします
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート