我有两个jsp页面,其中在share.jsp文本框中输入的值是编码的,解码是在forwarded.jsp页面中完成的。如果在txt框中输入的文本是"xyz +“,则解码是错误的,解码结果仅是"xyz”,即"+“不会被解码。
两个页面中的页面编码相同:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>代码片段:-
share.jsp
document.getElementById('hiddenFolderList').value = (encodeURI(document.getElementById('folderId').value,"UTF-8"));forwarded.jsp
String folders=java.net.URLDecoder.decode(request.getParameter("hiddenFolderList"),"UTF-8");我还查了一下URL Encode and Decode Tool里面还有"+“不被解码怎么转义/防止这种情况?
发布于 2013-07-10 18:59:50
encodeURI javascript函数"encodes special characters, except: , / ? : @ & = + $ # (Use encodeURIComponent() to encode these characters)“
您提供的示例页面似乎工作正常...空格被编码为+,因此+将被解码为空格。如果你编码一个+,它会变成一个%2B。
https://stackoverflow.com/questions/17568616
复制相似问题