对于Javascript传递中文时调试出错解释
创始人
2024-06-19 14:10:20
0

如果您确定不论是您的JSP页面还是您的Servlet都已经采取了最基本的乱码处理方法之后,通过Javascript传递的中文在接受的时候调试输出的是?的话,就试试兄弟我下面这个做法,也是跟别人学的。#t#

你可能采用的Javascript传递的中文参数正如:

  1. tempo.open("GET","Query?condition="+encodeURI(encodeURI(query))+"&kind="+kind,true);  
  2. 或者仅仅是在页面标签中嵌入的一小段script代码传递的中文参数:  
  3. function changefont(){//下拉列边框变化时触发session中的用户默认字体发生变化  
  4. var fontname=document.getElementById('fontname').value;  
  5. alert(fontname);  
  6. var url;  
  7. url="Communicate.jsp?user2=";  
  8. urlurl=url+'<%=user2%>';  
  9. urlurl=url+"&user2id="+'<%=user2id%>'+"&changefontname="+encodeURI(encodeURI(fontname));  
  10. // alert(url);  
  11. window.location.href=url;  


您可能已经发现他们的一个共同点了, Javascript传递这就是解决问题的方法了,兄弟您可以试试,希望对您有所帮助。下面是接受部分解码方法:

  1. String fontwords=request.getParameter("changefontname");//  
  2.  fontwords=java.net.URLDecoder.decode(fontwords,"utf8"); //post 传递的时候,一定是用utf8编码的,url 自己可以设定  
  3. //System.out.println(condition); 
  4. //当调用request.getParameter()函数时,会自动进行一次URI的解码过程,调用时内置的解码过程会导致乱码出现。
  5. 而URI 编码两次后,request.getParameter()函数得到的是原信息URI编码一次的内容。再用可控的解码函数 java.net.URLDecoder.decode()就可解出原始的正确的信息。  

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...