通过js encodeURIComponent传到服务器的乱码问题
一、场景:最近在做一个微博项目,用过微博的人都知道,微博里有话题这个概念,在textarea 里输入##,就代表一个话题。发布微博时使用的ajax方式提交,微博内容会拼到URI中传到服务器端,发现用IE8输入没有任何问题,但是使用IE6时,第二个#号会丢失。
二、解决过程:(1) 在JSP中使用encodeURIComponent来进行编码,两次编码:
content=encodeURIComponent(encodeURIComponent(content));
var url="${pageContext.request.contextPath}/BlogAction.do?method=doPublishBlog&content="+content;
(2) 在action中使用解码:
String content=(String)request.getParameter("content");
content=URLDecoder.decode(content,"UTF-8");
这个问题得以解决。
三、扩展学习
(1)js 中encodeURI 与 encodeURIComponent的区别
encodeURI 方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI,那么将返回初始的字符串。encodeURI 方法不会对下列字符进行编码:":"、"/"、";" 和 "?"。请使用 encodeURIComponent 方法对这些字符进行编码。经过我测试“#”也属于这个特殊字符的范畴,使用encodeURI编码时#是不会被编码的,所以上面场景的问题依然存在的,对于这种输入的内容,肯定是用encodeURIComponent。
(2)IE对#的不同处理,从下面的header 内容可以看出来。
IE8:
POST /dcwb/BlogAction.do?method=doPublishBlog&content=%23���Ի���%23&decorator=exclude&gridId=&gridName=&videoId=&imageId=&topicId=
IE6:
POST /dcwb/BlogAction.do?method=doPublishBlog&content=%23��������%20&decorator=exclude&gridId=&gridName=&videoId=&imageId=&topicId= HTTP/1.1
通过js encodeURIComponent传到服务器的乱码问题相关推荐
- 网页传上服务器 是乱码,前端传到后台中文乱码问题
编码乱码问题: 经常会遇到前端传到后台时,也就是controller层时,会发生乱码,在这里我总结了几个解决乱码的方法,基本都能解决, @符号越多代表越常见 1.@@Tomcat服务器配置的问题-从前 ...
- 网页上传到服务器中文乱码问题
网页上传到服务器后用浏览器打开,中文都是乱码.特别是那些通过 include 引入进来的头部.脚部,正文ok,头.脚乱码. 解决方法:将代码格式保存为"utf-8无BOM格式"(最 ...
- js文件夹上传到服务器,js 上传img到服务器
jQuery插件之ajaxFileUpload 前端视图,HTML与JS代码,成功上传后,返回图片真实地址并绑定到的SRC地址lt;head>lt;script src="/jquer ...
- node将当前文件上传到服务器,以编程方式将文件从node.js上传到另一个Web服务器...
我需要将文件从node.js应用程序推送到其他地方运行的Web服务器,该服务器通过典型的上载机制接受文件.例如,假设接收服务器有一个网页,这样的形式:以编程方式将文件从node.js上传到另一个Web ...
- js文件 本地 上传服务器地址,js 本地文件同步服务器地址
js 本地文件同步服务器地址 内容精选 换一换 用户可以将本地NAS存储中的数据,通过云专线迁移至云上SFS Turbo文件系统中,进行云上业务拓展.此方案通过在云上创建一台Linux操作系统的云服务 ...
- js上传文件到c 服务器,js上传文件到c服务器
js上传文件到c服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分别安装数据 ...
- 笔记之js使用ajax接受服务器传过来的数组异常时的情况处理(含视频)
js使用ajax接受服务器传过来的数组异常时的情况处理 使用ajax传输数据时,有时候我们会以数组的格式进行传输,并且大部分使用json的方式传输,那么当我们传输一个数组,比如: [{"na ...
- JS画板图片上传到服务器Python
上次实验了图片上传方式把客户端图片保存到服务器的方法 这次经过实验实现了画板图片直接上传到服务器并保存的方法 只要验证了几个概念 js端:base64传送,json传送,XMLHttpRequest, ...
- phpmywind 数据库 上传服务器后乱码
用的是phpmywind cms . 数据库上传后,出现乱码.上传记录上提示自动识别的编码是GB.当时没注意这个问题. 然后是修改文件,结果依然. 最后焦点移动到上传时的编码问题上,然后决定手动修改编 ...
最新文章
- 多线程join(加入)
- Wordpress 加入html等文件
- 获取weblogic上指定文件的路径 java_项目部署到WebLogic文件路径访问不正确
- js用递归遍历多维数组_js面试题更新之40
- 南京秦淮灯会亮灯迎春 明城墙内外“飘”年味
- 【Linux网络编程】TCP
- CodeForces - 1323D Present(思维+数学)
- 为什么大部分的C/C++码农都成不了高级工程师?真实原因是缺少核心能力!
- EXEC和sp_executesql的区别
- Flutter轮播图
- CCF201612-5 卡牌游戏(募集解题代码)
- windows 无法停止ics_x64仿真功能加入 ARM版Windows即将获得大量的应用程序
- mysql5.1 系列 关于用户授权的一个bug
- 免费WiFi上网软件是什么?怎么用?
- 2020年计算机组装行业,组装电脑已成夕阳产业?DIY装机发展的道路在何方?
- 项目管理中如何制定项目目标
- Kubernetes调度之亲和性和反亲和性
- 校招进大厂的Tips
- mysql中日期相减_Excel教程:Excel日期问题的小妙招
- client?0edb:161 [WDS] Errors while compiling. Reload prevented.
热门文章
- 《selenium2 python 自动化测试实战》(15)——调用js控制滚动条等操作
- ajax图片上传(asp.net +jquery+ashx)
- linux wget 进度条多行的解决办法
- 架构实例之Demo_JSP
- HDU ACM 1078 FatMouse and Cheese 记忆化+DFS
- JDK6笔记(3)----正则表达式
- 在迷失中前进--hatita22年蹉跎岁月的长嘘短叹(短叹篇)
- python控制窗口缩放
- k-Nearest Neighbors 实战1 简单的电影分类实例
- webapi+EF(增删改查)