首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

通过js encodeURIComponent传到服务器的乱码有关问题

2012-11-15 
通过js encodeURIComponent传到服务器的乱码问题一、场景:最近在做一个微博项目,用过微博的人都知道,微博里

通过js encodeURIComponent传到服务器的乱码问题

一、场景:最近在做一个微博项目,用过微博的人都知道,微博里有话题这个概念,在textarea 里输入##,就代表一个话题。发布微博时使用的ajax方式提交,微博内容会拼到URI中传到服务器端,发现用IE8输入没有任何问题,但是使用IE6时,第二个#号会丢失。

?

二、解决过程:(1) 在JSP中使用encodeURIComponent来进行编码,两次编码:

?????

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



你能告诉我为什么吗??

热点排行