我使用encodeURIComponent在JS中编码了某个文本。原文是
weoowuyteeeee !_.
Test could you please resubmit again?
我在发送之前在我的JS代码中执行以下操作。
var text = encodeURIComponent($("#txt11").val());
我不应该这样做吗?
一旦我使用encodeURIComponent对其进行编码,它就变为
weoowuyteeeee%2520!_%252C%250A%250ATest%252C%2520%2520could%2520you%2520please%2520resubmit%2520again%253F
我正在尝试使用
在Java端解密相同的内容String decodedString1 = URLDecoder.decode(myObject.getText(), "UTF-8");
但我认为这是输出,而不是原始文本。我做错了什么?
weoowuyteeeee%20!_。%2C%0A%0ATest%2C%20%20could%20you%20please%20resubmit%20again%3F
答案 0 :(得分:1)
您正在对数据进行两次编码。
最初,您已对数据进行了编码,之后又对其进行了编码。
例如:让你的文字
Hello World
编码后变为
您好%20World
如果再次编码,则变为
您好%2520World
原因
来自%20的%被编码为%25。因此空间变为%2520。
普通AJAX可以在发送到服务器端之前自动编码您的数据。检查第二次编码的位置。