JS中页面跳转,传值包含中文时乱码解决方案
首先,在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中页面跳转,传值包含中文时乱码解决方案相关推荐
- 解决URL传值包含中文时乱码的问题
1.前言 很多时候我们需要利用URL进行传值,当其中的参数值为中文时,接收端可能会产生乱码问题,下面就来说明一下如何解决这个问题. 2.接收URL参数值 定义index.html,添加一个按钮,点击该 ...
- vue中页面跳转传值_vue的页面跳转方式和传值、取值
写业务中,从一个页面跳转到另一个页面,经常需要传值和取值,如何实现? 1.通过router-link进行跳转,传递方式: 使用query传递参数,路由必须使用path引入, 使用params传递参数, ...
- vue中页面跳转传值_vue跳转方式(打开新页面)及传参操作示例
本文实例讲述了vue跳转方式(打开新页面)及传参操作.分享给大家供大家参考,具体如下: 1. router-link跳转 // 直接写上跳转的地址 link跳转 // 添加参数 // 参数获取 id ...
- vue中页面跳转传值_vue 页面跳转传参
页面之间的跳转传参,正常前端js里写 window.location.href="xxxxx?id=1" 就可以了: 但是vue不一样 需要操作的是路由history,需要用到 V ...
- js页面跳转 URL含中文造成乱码
当在地址栏中传递参数时,服务器端获取的参数值为乱码. 解决: 1.使用JS将中文转为ASCII码 var param = encodeURI("中文参数"); 备注:encodeU ...
- Java开发中使用模拟接口moco响应中文时乱码
场景 在开发中需要依赖一些接口,比如需要请求一个返回Json数据的接口,但是返回Json数据的接口要么是没搭建,要么是交互比较复杂. 此时,就可以使用moco来模拟接口返回接口数据,以便开发和测试工作 ...
- [HTML]js实现页面跳转,页面A跳到另一个页面B.以及页面传值(中文)
原文地址为: [HTML]js实现页面跳转,页面A跳到另一个页面B.以及页面传值(中文) 要实现从一个页面A跳到另一个页面B,js实现就在A的js代码加跳转代码 JS跳转大概有以下几种方式: 第一种: ...
- JS 实现页面跳转的几种方法
JS 实现页面跳转的几种方法 要实现从一个页面A跳到另一个页面B,js实现就在A的js代码加跳转代码 JS跳转大概有以下几种方式: 第一种:(跳转到b.html) <script languag ...
- js带参数跳转php,JS实现页面跳转参数不丢失的方法
本文实例讲述了JS实现页面跳转参数不丢失的方法.分享给大家供大家参考,具体如下: 需求:页面编辑后,返回列表页面,参数不丢失,能够记住页数以及筛选条件. 我坚信,不管白猫黑猫,能捉到耗子的就是好猫,当 ...
最新文章
- .net get set用法
- st2045 漏洞反弹root shell
- 【错误记录】Windows 控制台程序编译报错 ( WINDOWS.H already included. MFC apps must not #include <Windows.h> )
- 根据awr报告查看最慢的sql语句
- MR案例:CombineFileInputFormat
- MySQL中使用LIMIT进行分页的方法
- OpenSSL的SSL/BIO_get_fd
- 【Android】12.3 在当前Activity中获取另一个Activity的返回值
- XStream转换Java对象与XML
- zhihu 知乎社区里点击了Ctrl + C组合键的技术实现
- python二值化 感兴趣区域_Python+OpenCV感兴趣区域ROI提取方法
- Firefox删除DNS缓存——修改hosts后,无需关闭
- 苹果首款自研芯片Mac成本可能上升 因设计改变
- JavaScript获取一周前,一个月前日期
- JS获取对象的第一个值
- 批量给hive的表加分区
- android 图片自动移动位置信息,android – 使用翻译动画将ImageView从当前位置移动到固定位置...
- JSON时间转换格式化
- 数字图像处理与分析---指纹图像增强(Python)
- dataformatstring(DataFormatString 文本)
热门文章
- RS232 DB9 计算机接口定义和RS232 (DB9) MAX232引脚定义
- vue_music:歌手singer.vue页面
- 互质 整除 同余
- 信号明确简单 顶底指标公式 通达信 副图 源码
- Vue - 音频播放器插件(vue-aplayer)
- kubernetes中infra容器的理解
- 【深度学习 功法篇】win10操作系统PC端环境的部署(如何并存 不同的、多种版本的深度学习框架)
- word 2010 插入脚注 导致同页中的双栏换行
- (转)it界的大师手笔
- 【笔记】wlan - 基础概念(无线、wifi、常见协议、频谱、信道、ap部署、案例)