对于Javascript传递中文时调试出错解释

开发
假期开始对Javascript传递的学习,首先碰到的就是环境的配置。以前学的Visual Studio2003,但并没有怎么用。所以有一个星期的时间基本是在用实践着.net 1.0,不知道Gates知道了,会不会有点郁闷。

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

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

  1. tempo.open("GET","Query?condition="+encodeURI(encodeURI(query))+"&kind="+kind,true);  
  2. 或者仅仅是在页面<head>标签中嵌入的一小段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()就可解出原始的正确的信息。  
责任编辑:chenqingxiang 来源: 互联网
相关推荐

2010-11-03 11:02:34

DB2存储过程

2010-01-08 10:34:49

JavaScript解

2009-12-07 17:46:52

WCF框架

2009-12-04 10:35:56

Visual Stud

2009-12-14 09:09:35

VS 2008 Pro

2011-03-25 13:44:28

Java值传递

2022-01-17 09:52:26

Windows 11Windows微软

2009-12-09 17:20:13

2009-12-25 17:32:16

ADO Data 控件

2009-12-23 14:59:32

ADO.NET 2.0

2009-06-09 21:54:26

传递参数JavaScript

2019-04-17 13:48:19

JavaScript前端传递

2021-08-26 05:04:53

JavaScript调试技巧

2009-11-24 13:23:11

Visual Stud

2009-12-02 14:05:17

VS2010程序

2024-03-15 12:48:50

携程AI

2009-07-14 11:34:42

MyEclipse断点JavaScript

2009-12-01 18:07:12

VS 2003工具

2009-12-03 15:32:05

Visual Stud

2017-10-09 10:04:48

JavaScriptChrome DevT调试
点赞
收藏

51CTO技术栈公众号