1

別のページのテキストフィールドにテキストフィールド値を渡すことができるjavascriptのonclick関数を使用してボタンにリンクされたHTML入力フィールドがあります。JSPのURLリクエストを介して1つのページから別のページに値を渡すときに、encodeURI()getsを使用して値をエンコードすることがわかりました。

  • £->£(2つの兆候!!)
  • ö->ö(2つの記号!!)

Javscriptを使用するescape()と、適切なエンコーディングが得られますが、残念ながら+記号が消えてしまいます。文字のある種の安定したエンコーディングを持つためのより良い解決策はありますか?

4

2 に答える 2

0

各単一のkey=valueペアでencodeURIComponent()を使用し、各key=valueペアの2ページ目でdecodeURIComponentを使用する必要があると思います。

于 2009-09-05T18:46:07.400 に答える
0

encodeURI()UTF-8エンコーディングを使用してエンコードします。これが、1文字をエンコードするための2つの記号が表示される理由です(これは正常です)。

エスケープを使用してサインを保持したい場合は+、次を使用できます。

function mod_escape(value) {
  value = escape(value);
  return value.replace(/\+/g, '%2B');
}
于 2009-08-07T14:20:14.953 に答える