一、场景:最近在做一个微博项目,用过微博的人都知道,微博里有话题这个概念,在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传到服务器的乱码问题相关推荐

  1. 网页传上服务器 是乱码,前端传到后台中文乱码问题

    编码乱码问题: 经常会遇到前端传到后台时,也就是controller层时,会发生乱码,在这里我总结了几个解决乱码的方法,基本都能解决, @符号越多代表越常见 1.@@Tomcat服务器配置的问题-从前 ...

  2. 网页上传到服务器中文乱码问题

    网页上传到服务器后用浏览器打开,中文都是乱码.特别是那些通过 include 引入进来的头部.脚部,正文ok,头.脚乱码. 解决方法:将代码格式保存为"utf-8无BOM格式"(最 ...

  3. js文件夹上传到服务器,js 上传img到服务器

    jQuery插件之ajaxFileUpload 前端视图,HTML与JS代码,成功上传后,返回图片真实地址并绑定到的SRC地址lt;head>lt;script src="/jquer ...

  4. node将当前文件上传到服务器,以编程方式将文件从node.js上传到另一个Web服务器...

    我需要将文件从node.js应用程序推送到其他地方运行的Web服务器,该服务器通过典型的上载机制接受文件.例如,假设接收服务器有一个网页,这样的形式:以编程方式将文件从node.js上传到另一个Web ...

  5. js文件 本地 上传服务器地址,js 本地文件同步服务器地址

    js 本地文件同步服务器地址 内容精选 换一换 用户可以将本地NAS存储中的数据,通过云专线迁移至云上SFS Turbo文件系统中,进行云上业务拓展.此方案通过在云上创建一台Linux操作系统的云服务 ...

  6. js上传文件到c 服务器,js上传文件到c服务器

    js上传文件到c服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分别安装数据 ...

  7. 笔记之js使用ajax接受服务器传过来的数组异常时的情况处理(含视频)

    js使用ajax接受服务器传过来的数组异常时的情况处理 使用ajax传输数据时,有时候我们会以数组的格式进行传输,并且大部分使用json的方式传输,那么当我们传输一个数组,比如: [{"na ...

  8. JS画板图片上传到服务器Python

    上次实验了图片上传方式把客户端图片保存到服务器的方法 这次经过实验实现了画板图片直接上传到服务器并保存的方法 只要验证了几个概念 js端:base64传送,json传送,XMLHttpRequest, ...

  9. phpmywind 数据库 上传服务器后乱码

    用的是phpmywind cms . 数据库上传后,出现乱码.上传记录上提示自动识别的编码是GB.当时没注意这个问题. 然后是修改文件,结果依然. 最后焦点移动到上传时的编码问题上,然后决定手动修改编 ...

最新文章

  1. 多线程join(加入)
  2. Wordpress 加入html等文件
  3. 获取weblogic上指定文件的路径 java_项目部署到WebLogic文件路径访问不正确
  4. js用递归遍历多维数组_js面试题更新之40
  5. 南京秦淮灯会亮灯迎春 明城墙内外“飘”年味
  6. 【Linux网络编程】TCP
  7. CodeForces - 1323D Present(思维+数学)
  8. 为什么大部分的C/C++码农都成不了高级工程师?真实原因是缺少核心能力!
  9. EXEC和sp_executesql的区别
  10. Flutter轮播图
  11. CCF201612-5 卡牌游戏(募集解题代码)
  12. windows 无法停止ics_x64仿真功能加入 ARM版Windows即将获得大量的应用程序
  13. mysql5.1 系列 关于用户授权的一个bug
  14. 免费WiFi上网软件是什么?怎么用?
  15. 2020年计算机组装行业,组装电脑已成夕阳产业?DIY装机发展的道路在何方?
  16. 项目管理中如何制定项目目标
  17. Kubernetes调度之亲和性和反亲和性
  18. 校招进大厂的Tips
  19. mysql中日期相减_Excel教程:Excel日期问题的小妙招
  20. client?0edb:161 [WDS] Errors while compiling. Reload prevented.

热门文章

  1. 《selenium2 python 自动化测试实战》(15)——调用js控制滚动条等操作
  2. ajax图片上传(asp.net +jquery+ashx)
  3. linux wget 进度条多行的解决办法
  4. 架构实例之Demo_JSP
  5. HDU ACM 1078 FatMouse and Cheese 记忆化+DFS
  6. JDK6笔记(3)----正则表达式
  7. 在迷失中前进--hatita22年蹉跎岁月的长嘘短叹(短叹篇)
  8. python控制窗口缩放
  9. k-Nearest Neighbors 实战1 简单的电影分类实例
  10. webapi+EF(增删改查)