2011-06-30 5 views
0

私のアプリケーションはAjaxのPOSTリクエストを使用して、私のサーブレットに、JavaScriptからデータを送信し、そのデータは、同様に特殊文字が含まれています。自分のコンテンツにURLが含まれている可能性があるため、このデータをjavacript escape()を実行して送信しています。JavaScriptのエスケープに関する問題、encodeURIとencodeURIComponentで

問題は、私は私のサーブレット側で正しいデータを取得しないと私はescapeが問題を作成していることを疑っていますということです。

私はjavascriptのコードに次の試してみました:

alert(escape("»")); 
alert(unescape(escape("»"))); 

alert(encodeURI("»")); 
alert(decodeURI(encodeURI("»"))); 

alert(encodeURIComponent("»")); 
alert(decodeURIComponent(encodeURIComponent("»"))); 

コードで見られるように、私は、エスケープ文字列をアンエスケープしていたとき、私は正しい警告を得ることはありません、私もencodeURI、encodeURIComponentでと、それぞれを使用して試してみましたデコード方法。 (URLのような)特殊文字やコンテンツの他の部分の全てが正常に受信されるように

は、どのように私はJavaScriptからデータを送信する必要があります。

+0

これらの例はすべて私にとって完璧に機能します。アラートには何が入っていますか? – Pointy

+0

@Pointy私は別の.htmlファイルでテストしていませんでしたが、うまく機能しますが、アプリケーションから試してみると '»'と表示されます。何が問題になっているかについてのあらゆる考え?私のjspは以下を使用します: '<%@ page language =" java "contentType =" text/html; charset = ISO-8859-1 " pageEncoding =" ISO-8859-1 "%>'このエンコーディングでは問題ありません。 – Ankit

+0

私の悪い点は、この文字コードのエンコーディングが問題だったのですが、どうしてjspディレクティブをhtmlに入れようとしていたのか分かりません。 – Ankit

答えて

1
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> 

問題がありましたが、UTF-8に変更されました。

関連する問題