encodeURIComponent编码 URLDecoder.decode解码乱码的问题
2009-07-25 18:06
585 查看
传递key的时候,为了防止中文乱码,使用encodeURIComponent编码:
<script>
function searchSubmit(){
reg = /[/S]+/;
obj=$("search_word");
if(!obj.value.match(reg)){
alert("请输入搜索的关键词!");
return;
}
location.href="/place/search?id=" + getUrlParam("id") + "&word=" + encodeURIComponent(obj.value);
}
</script>
但在后台java代码直接request.getParameter("word")就已经乱码了,还没调用URLDecoder.decode。
找资料发现调用request.getParameter的时候java会自动对word进行一次解码,所以就乱码。既然java会自动对word进行一次解码,那我们在前台进行2次编码,然后后台URLDecoder.decode(request.getParameter("word"),"utf-8")就可以解决乱码的问题。
前台代码:
<script>
function searchSubmit(){
reg = /[/S]+/;
obj=$("search_word");
if(!obj.value.match(reg)){
alert("请输入搜索的关键词!");
return;
}
location.href="/place/search?id=" + getUrlParam("id") + "&word=" + encodeURIComponent(encodeURIComponent(obj.value));
}
</script>
<script>
function searchSubmit(){
reg = /[/S]+/;
obj=$("search_word");
if(!obj.value.match(reg)){
alert("请输入搜索的关键词!");
return;
}
location.href="/place/search?id=" + getUrlParam("id") + "&word=" + encodeURIComponent(obj.value);
}
</script>
但在后台java代码直接request.getParameter("word")就已经乱码了,还没调用URLDecoder.decode。
找资料发现调用request.getParameter的时候java会自动对word进行一次解码,所以就乱码。既然java会自动对word进行一次解码,那我们在前台进行2次编码,然后后台URLDecoder.decode(request.getParameter("word"),"utf-8")就可以解决乱码的问题。
前台代码:
<script>
function searchSubmit(){
reg = /[/S]+/;
obj=$("search_word");
if(!obj.value.match(reg)){
alert("请输入搜索的关键词!");
return;
}
location.href="/place/search?id=" + getUrlParam("id") + "&word=" + encodeURIComponent(encodeURIComponent(obj.value));
}
</script>
相关文章推荐
- encodeURIComponent编码 URLDecoder.decode解码乱码的问题
- encodeURIComponent编码 URLDecoder.decode解码乱码的问题
- JS中encodeURIComponent(URL)编码与decodeURIComponent(URL)解码详解
- 前台encodeURIComponent,后台 URLDecoder.decode问题
- 一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码:
- JS中encodeURIComponent(URL)编码与decodeURIComponent(URL)解码详解
- %25%37%DD 。。。上述形式不是乱码。 这是urlencoding。 你可以使用js内置的方法 encodeURIComponent进行编码, 而使用decodeURIComponent把上述形式再解码为普通字符
- 使用escape、encodeURI 和 encodeURIComponent 解决url中文乱码问题
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
- encodeURI与encodeURIComponent方法的区别 如果你使用的get方法提交表单肯定要考虑到输入项目的编码解码问题。 解决这个问题大家一般都使用encodeURI或者en
- 一张图看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别 一、这四个方法的用处 1、用来编码和解码URI的 统一资源标识符
- 使用escape、encodeURI 和 encodeURIComponent 解决url中文乱码问题
- encodeURIComponent()编码和decodeURIComponent()解码
- URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法、java.net.URLDecoder.encode、java.net.URLDecoder.decode)
- 使用escape、encodeURI 和 encodeURIComponent 解决url中文乱码问题
- 前台使用js的encodeURIComponent编码后,java解析乱码问题的解决方法
- URLEncoder.encode、URLDecoder.decode、escape、encodeURI、encodeURIComponent
- HttpUtility.UrlDecode(),HttpUtility()escape()、encodeURI()、encodeURIComponent()区别详解以及相应的前台解码和.net后台解码
- js中使用encodeURIComponent编码url后java后台的解码
- 解决java.net.URLDecoder.encode与EncodeURI乱码问题