Javascript encodeURIComponent和Java解码问题

时间:2017-04-10 19:49:41

标签: javascript java encoding uriencoding

我使用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

1 个答案:

答案 0 :(得分:1)

您正在对数据进行两次编码。

最初,您已对数据进行了编码,之后又对其进行了编码。

例如:让你的文字

  

Hello World

编码后变为

  

您好%20World

如果再次编码,则变为

  

您好%2520World

原因

  来自%20的

%被编码为%25。因此空间变为%2520。

普通AJAX可以在发送到服务器端之前自动编码您的数据。检查第二次编码的位置。