JS.中文乱码,Jsp\Servlet端的解决办法

2010-03-08 15:18:21|  分类: Extjs |  标签:encodeuricomponent  乱码  urldecoder  |举报|字号 订阅

 
 

上一篇文章提到Js的传递中文参数,在Webwork框架下解析出来的是乱码。

这一篇文章将要提到在Jsp、Servlet端对Js传递中文的解决办法。

index.jsp

第一个页面给第二个页面通过URL传递中文参数,两次调用encodeURIComponent()函数来编码:

 <a href="http://localhost:8080/web/jsp/Testing.jsp?name="+encodeURIComponent(encodeURIComponent(“测试乱码”))">姓名</a>

Testing.jsp

第二个负责接收数据的页面。  解码上面的中文参数:

<%
   String name = "''";
   if(request.getParameter("name")!=null){
    name = "'"+URLDecoder.decode(request.getParameter("name"),"utf-8")+"'";
   }
  %>

<script type="text/javascript">
   var name = <%=name%>;
  </script>

上面的代码就是调用java.net.URLDecoder类来进行解码。由于request.getParameter()方法在调用的时候,java就已经自动将数据解码了一次,所以如果在index.jsp页面中只编码一次的话,在这里就会得到乱码。因此,要使用encodeURIComponent()编码两次,然后URLDecoder+getParameter()再进行两次解码。

另外。请注意Testing.jsp页面的红色代码。注意标点符号!由于js中的字符串需要使用单引号来表示,所以如果我们定义java变量的时候,不手动给这个字符串name加上单引号的话,那么在js端就会把它等成其他类型。就会提示“xxx无定义”。因此,请注意。在变量两头都加上单引号:name = "   '  "  +name + "  '  "。这样看应该清晰了吧。

JS.中文乱码,Jsp\Servlet端的解决办法的更多相关文章

  1. IDEA2018.3.5Tomcat output 中文乱码 修改配置文件生效的解决办法

    首先,我也是尝试别人介绍的方法: IDEA Windows 环境 console 乱码问题 - intellij idea 15 控制台输出中文乱码问题解决办法 - liuhai的博客 - CSDN博 ...

  2. 采用DoGet方式提交中文,乱码产生原因分析及解决办法

    前段时间某功能在测试机器上出现乱码,情况如下:   现象:           调试搜索功能时,通过doGet方法提交到后台的中文参数在本地和开发测试机器上为乱码(Action层),在测试人员测试机器 ...

  3. Node.js 中文乱码解决

    Node.js 中文乱码解决 Node.js 支持中文不太好(实际上是Javascript支持),见<Node.js开发指南>. 要想Node.js正常显示中文,需要两点: 1.js文件保 ...

  4. js中文乱码

    js中文乱码 我的页面是uft-8,处理中文还是乱码, 所在在处理页面增加了 request.setCharsetEncoding("UFT-8"); ////////////// ...

  5. Python BeautifulSoup中文乱码问题的2种解决方法

    解决方法一: 使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输出的总是乱码,找了好久找到解决办法,下面分享给大家首先是代码 from bs4 import Beautif ...

  6. Code:Blocks 中文乱码问题原因分析和解决方法

    下面说说修改的地方. 1.修改源文件保存编码在:settings->Editor->gernal settings 看到右边的Encoding group Box了吗?如下图所示: Use ...

  7. input标签和fmt:formatDate 在jsp中同时使用引号解决办法

    input标签和fmt:formatDate 在jsp中同时使用引号解决办法 使用input标签设置默认值value并格式化fmt时间格式处理 格式化前: <input type="d ...

  8. JSP中文乱码问题的由来以及解决方法

    首先明确一点,在计算机中,只有二进制的数据! 一.java_web乱码问题的由来 1.字符集 1.1 ASCII字符集 在早期的计算机系统中,使用的字符非常少,这些字符包括26个英文字母.数字符号和一 ...

  9. Servlet 中文乱码问题解析及详细解决方法

    使用 servlet 向客户端浏览器回送中文时,经常出现中文乱码的问题,这里给大家完完全全地搞明白: 一.基本常识 中文系统默认是 GBK 编码(GBK是对GB2312的补充,包含它) 需要处理编码问 ...

随机推荐

  1. VS2013如何避开安装时IE10的限制

    [VS2013]如何避开VS2013必须要有IE10的限制 VS就会告诉我们目前环境不适合安装VS2013,必须升级IE版本到IE10. 在不安装IE10时的时候,安装办法: 将下面一段文字,储存为. ...

  2. 简单animate方法的封装

    function animate(ele,json,fn){ clearInterval(ele.timer); ele.timer = setInterval(function () { var b ...

  3. ASP.NET探讨:技术的学习顺序问题

    作者: シtearシ  来源: 博客园  发布时间: 2011-09-27 08:40  阅读: 7675 次  推荐: 25   原文链接   [收藏]   摘要:很多人对于ASP.NET的入门和学 ...

  4. Oracle的tnsnames.ora配置(PLSQL Developer)

    首先打开tnsnames.ora的存放目录,一般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了. 步骤阅读 ...

  5. 一个神奇的POS -扫描 现场销售 开单打印票据 安卓物联网POS机 手持开单终端机 省时省力 高效准确!!

    5寸高清彩屏,高端大气上档次,小巧轻便,独特的包胶防护,坚固耐用,外形精细,美观!与软件灵活对接,解决企业手工盘点,手工输单,库存管理等困难,提高准确率,提高工作效率!! 应用领域:适用于仓库.超市. ...

  6. LAMP_源码安装全教程

    第一步:准备安装软件 httpd-2.4.7.tar.gz, apr-1.4.6.tar.gz, apr-util-1.4.1.tar.gz,mysql-5.5.tar.gz,php-5.4.tar. ...

  7. 好文分享_java堆栈的区别

    Java Heap Memory Heap memory is used by java runtime to allocate memory to Objects and JRE classes. ...

  8. LeetCode刷刷记录

    一遍考研,一遍还是要刷刷题.感觉自己的时间安排的不是很好,还是要抓紧自己的日常时间,当然,也要练练刷题的手感. 1.第一题就两重循环找到索引就OK,因为是无序的,所以就不能用二分来查找,题目中每个数的 ...

  9. switch..case使用

    1.多个if...else连在一起使用的时候,可以转为使用更方便的switch结构.switch (XXX) { case "aaa": // ... break; case &q ...

  10. UVA103 dp基础题,DAG模型

    1.UVA103 嵌套n维空间 DAG模型记忆化搜索,或者 最长上升子序列. 2.dp[i]=max( dp[j]+1),(第i个小于第j个) (1) //DAG模型记忆化搜索 #include< ...