我是在写一个搜索功能时,对于输入的中文不识别,传参时出现乱码
在编写js时传参出现乱码,可以如下解决
==》在传参时把传送的路径url进行一下编码:
url = encodeURI(url);
url = encodeURI(url);
必须执行两次
==》在接受参数时,也要编码
String keyword = request.getParameter("keyword").toString()
keyword = java.net.URLDecode(keyword,"utf-8");
我的js
function check_search()
{
if(document.getElementById("keyword").value=="---请输入关键字---")
{
alert("请输入搜索内容!");
document.getElementById("keyword").focus();
return false;
}
//解决编码问题
var url = "Newslist?keyword=" +document.getElementById("keyword").value;
url = encodeURI(url);
url = encodeURI(url);
location = url;
/*var keyword = document.getElementById("keyword").value;
keyword = encodeURI(keyword);
keyword = encodeURI(keyword);
window.location.href="Newslist?keyword=" +keyword;*/
}
jsp界面
<input id="keyword" name="keyword" type="text" style="width:133px; height:21px; line-height:21px; padding:0 0 0 8px; float:left; background:none; border:0; color:#BBBBBB; font-family:"宋体";"
value="---请输入关键字---"
οnfοcus="if(value=='---请输入关键字---') {value=''}"
οnblur="if(value=='') {value='---请输入关键字---'}">
<input type="button" style="width:25px; height:21px; background:none; border:0; cursor:pointer; float:left;"
οnclick="returned check_search();">