首先,在JS中将要传递的中文编码:encodeURI(encodeURI(value));

然后在跳转界面中取值时通过以下方式解码:java.net.URLDecoder.decode(value , "UTF-8");//如果界面都是用UTF-8格式编码的话。

对于JSP文件和servlet或者JSP之间通过POST方式传递中文时,一般在界面head中加上:request.setCharacterEncoding("utf-8");就可以解决大部分的乱码问题了。

对于POST和GET解决乱码的总结:

request.setCharacterEncoding("UTF-8"); 是针对form表单Method="POST"提交时起作用。

new String(str.getBytes("iso-8859-1"),"UTF-8"); 是针对form表单Method="GET"提交时起作用。

注意:

对于URL传递的数据和表单中GET方式提交的数据,在接收页面中通过设置request.setCharacterEncoding("UTF-8")来解决乱码问题是不行的,因为在Tomcat5.0以上版本中,默认情况下使用ISO- 8859-1对URL提交的数据和表单中GET方式提交的数据进行重新编解码.
        要解决该问题,应该在Tomcat的配置文件的Connector标签中设置useBodyEncodingForURI或者 URIEncoding属性,其中useBodyEncodingForURI参数表示是否用request.setCharacterEncoding 参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false(Tomcat4.0中该参数默认为true);
URIEncoding参数指定对所有GET方式请求(包括URL提交的数据和表单中GET方式提交的数据)进行统一的重新编解码。
URIEncoding和useBodyEncodingForURI区别是,URIEncoding是对所有GET方式的请求的数据进行统一的重新编解码,而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编解码。
       所以对于URL提交的数据和表单中GET方式提交的数据,可以修改 URIEncoding参数为浏览器编码或者修改useBodyEncodingForURI为true,并且在获得数据的JSP页面中 request.setCharacterEncoding参数设置成浏览器编码。

例如:如果想在GET提交方式上,也可以采用:request.setCharacterEncoding("UTF-8")进行转码的话。请将tomcat->conf->server.xml 下面代码修改如下所示:

<Connector port="8080" maxHttpHeaderSize="8192" useBodyEncodingForURI="true"
  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
  enableLookups="false" redirectPort="8443" acceptCount="100" 
  connectionTimeout="20000" disableUploadTimeout="true" />

JS中页面跳转,传值包含中文时乱码解决方案相关推荐

  1. 解决URL传值包含中文时乱码的问题

    1.前言 很多时候我们需要利用URL进行传值,当其中的参数值为中文时,接收端可能会产生乱码问题,下面就来说明一下如何解决这个问题. 2.接收URL参数值 定义index.html,添加一个按钮,点击该 ...

  2. vue中页面跳转传值_vue的页面跳转方式和传值、取值

    写业务中,从一个页面跳转到另一个页面,经常需要传值和取值,如何实现? 1.通过router-link进行跳转,传递方式: 使用query传递参数,路由必须使用path引入, 使用params传递参数, ...

  3. vue中页面跳转传值_vue跳转方式(打开新页面)及传参操作示例

    本文实例讲述了vue跳转方式(打开新页面)及传参操作.分享给大家供大家参考,具体如下: 1. router-link跳转 // 直接写上跳转的地址 link跳转 // 添加参数 // 参数获取 id ...

  4. vue中页面跳转传值_vue 页面跳转传参

    页面之间的跳转传参,正常前端js里写 window.location.href="xxxxx?id=1" 就可以了: 但是vue不一样 需要操作的是路由history,需要用到 V ...

  5. js页面跳转 URL含中文造成乱码

    当在地址栏中传递参数时,服务器端获取的参数值为乱码. 解决: 1.使用JS将中文转为ASCII码 var param = encodeURI("中文参数"); 备注:encodeU ...

  6. Java开发中使用模拟接口moco响应中文时乱码

    场景 在开发中需要依赖一些接口,比如需要请求一个返回Json数据的接口,但是返回Json数据的接口要么是没搭建,要么是交互比较复杂. 此时,就可以使用moco来模拟接口返回接口数据,以便开发和测试工作 ...

  7. [HTML]js实现页面跳转,页面A跳到另一个页面B.以及页面传值(中文)

    原文地址为: [HTML]js实现页面跳转,页面A跳到另一个页面B.以及页面传值(中文) 要实现从一个页面A跳到另一个页面B,js实现就在A的js代码加跳转代码 JS跳转大概有以下几种方式: 第一种: ...

  8. JS 实现页面跳转的几种方法

    JS 实现页面跳转的几种方法 要实现从一个页面A跳到另一个页面B,js实现就在A的js代码加跳转代码 JS跳转大概有以下几种方式: 第一种:(跳转到b.html) <script languag ...

  9. js带参数跳转php,JS实现页面跳转参数不丢失的方法

    本文实例讲述了JS实现页面跳转参数不丢失的方法.分享给大家供大家参考,具体如下: 需求:页面编辑后,返回列表页面,参数不丢失,能够记住页数以及筛选条件. 我坚信,不管白猫黑猫,能捉到耗子的就是好猫,当 ...

最新文章

  1. .net get set用法
  2. st2045 漏洞反弹root shell
  3. 【错误记录】Windows 控制台程序编译报错 ( WINDOWS.H already included. MFC apps must not #include <Windows.h> )
  4. 根据awr报告查看最慢的sql语句
  5. MR案例:CombineFileInputFormat
  6. MySQL中使用LIMIT进行分页的方法
  7. OpenSSL的SSL/BIO_get_fd
  8. 【Android】12.3 在当前Activity中获取另一个Activity的返回值
  9. XStream转换Java对象与XML
  10. zhihu 知乎社区里点击了Ctrl + C组合键的技术实现
  11. python二值化 感兴趣区域_Python+OpenCV感兴趣区域ROI提取方法
  12. Firefox删除DNS缓存——修改hosts后,无需关闭
  13. 苹果首款自研芯片Mac成本可能上升 因设计改变
  14. JavaScript获取一周前,一个月前日期
  15. JS获取对象的第一个值
  16. 批量给hive的表加分区
  17. android 图片自动移动位置信息,android – 使用翻译动画将ImageView从当前位置移动到固定位置...
  18. JSON时间转换格式化
  19. 数字图像处理与分析---指纹图像增强(Python)
  20. dataformatstring(DataFormatString 文本)

热门文章

  1. RS232 DB9 计算机接口定义和RS232 (DB9) MAX232引脚定义
  2. vue_music:歌手singer.vue页面
  3. 互质 整除 同余
  4. 信号明确简单 顶底指标公式 通达信 副图 源码
  5. Vue - 音频播放器插件(vue-aplayer)
  6. kubernetes中infra容器的理解
  7. 【深度学习 功法篇】win10操作系统PC端环境的部署(如何并存 不同的、多种版本的深度学习框架)
  8. word 2010 插入脚注 导致同页中的双栏换行
  9. (转)it界的大师手笔
  10. 【笔记】wlan - 基础概念(无线、wifi、常见协议、频谱、信道、ap部署、案例)