手机页面跳转时传递中文参数出现乱码问题
2015-08-06 16:08
549 查看
在项目过程中,遇到一个问题。在一个页面的输入框获得输入的数据,跳转并将参数传到另一个页面(location.hash),再用ajax发送请求。
此时,如果是在PC端,输入中文进行搜索是没问题的,但是在手机端查看URL是会发现中文变成乱码。
于是借由百度进行检验,发现PC端URL中可含有中文参数,而手机端的中文参数在URL中已被转为utf码。
猜测引起这个问题的原因和浏览器有关。
查看浏览器的审查元素后发现谷歌浏览器在发送ajax请求时已将中文参数转化为UTF-8码。
最后的解决方法是在页面间传递参数前先将中文参数转化为utf-8码,然后在调用ajax发送请求时再将参数解码。具体使用了encodeURLComponent()和decodeURLComponent()。
此时,如果是在PC端,输入中文进行搜索是没问题的,但是在手机端查看URL是会发现中文变成乱码。
于是借由百度进行检验,发现PC端URL中可含有中文参数,而手机端的中文参数在URL中已被转为utf码。
猜测引起这个问题的原因和浏览器有关。
查看浏览器的审查元素后发现谷歌浏览器在发送ajax请求时已将中文参数转化为UTF-8码。
最后的解决方法是在页面间传递参数前先将中文参数转化为utf-8码,然后在调用ajax发送请求时再将参数解码。具体使用了encodeURLComponent()和decodeURLComponent()。
相关文章推荐
- jQuery插件cycle图片变换
- C++编译错误:“max”宏的实参不足
- Android DiskLruCache完全解析,硬盘缓存的最佳方案
- gcd(线段树离线处理)——HDU 4630
- leetcode--Palindrome Partitioning
- 修改element.style样式
- 关于framelayout
- 文章标题
- Java 接口的概念
- 为Python配置caffe(基于linux)
- IOS学习之ios应用数据存储方式(XML属性列表-plist)
- JointJS
- java 权限设计
- Theano2.1.3-基础知识之更多的例子
- 版本管理之-git的简单使用
- [Java Web]Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors
- Arcgis中对矢量和栅格数据进行裁剪切割的方法
- 虚拟机装系统出现 ntldr is missing(NTLDR丢失)、无法正常开机、解决方法
- TCP中的RST复位信号
- HTML5音频Audio