URL添加中文参数乱码解决办法

原创 2013年12月04日 10:16:49

当在地址栏中传递参数的时候,服务器端获取的参数值为乱码
解决方案:
1、使用JS将中文转为ASCII码
var param = encodeURI("中文参数");

 

备注:encodeURI该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#

alert(encodeURI("我是中文"));
alert(decodeURI(encodeURI("我是中文")));

 


2、server端接收传递过来的参数
String param = request.getParamter("param");
现在的内容param是乱码


3、对接收的参数进行转码
Stringt newparam = new String(param.getByte("iso-8859-1"),"utf-8");


备注:接收的参数一定要以ISO-8859-1获取字节,然后根据网页的编码格式new一个新的字符串,这里使用的是utf-8编码

 

ISO简介(摘抄至百度)

ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符0xA0-0xFF之间是文字符号

 

ISO-8859-1收录的字符除ASCII收录的字符外,还包括西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号。欧元符号出现的比较晚,没有被收录在ISO-8859-1当中。

 

因为ISO-8859-1编码范围使用了单字节内的所有空间,在支持ISO-8859-1的系统中传输和存储其他任何编码的字节流都不会被抛弃。换言之,把其他任何编码的字节流当作ISO-8859-1编码看待都没有问题。这是个很重要的特性,MySQL数据库默认编码是Latin1就是利用了这个特性。ASCII编码是一个7位的容器,ISO-8859-1编码是一个8位的容器。

 

Latin1是ISO-8859-1的别名,有些环境下写作Latin-1

URL传中文参数导致乱码的解决方案之encodeURI

[size=large]       通过URL传中文参数时,在服务端后台获取到的值往往会出现乱码。解决方案有很多种。本文介绍如何通过encodeURI来解决中文乱码问题。 首先,在前端页面准备...
  • zhxtpray
  • zhxtpray
  • 2016年09月05日 14:40
  • 4676

url参数中文乱码问题解决

html页面编码为utl-8,但是在页面间通过url的?传参,参数为中文的时候,接收到的参数是乱码,需要转码 例如:在a.html向b.html传参数的时候 var id=123; var name ...
  • u010394015
  • u010394015
  • 2016年07月01日 17:00
  • 2024

url 中文传参 乱码问题

开发一直用firfox网页,调试什么的都很方便。所以遇到了浏览器之间的兼容问题。url中文传参。 问题:前台用url传值中文,后台用request.getParameter接收参数。       ...
  • yiyuhanmeng
  • yiyuhanmeng
  • 2012年05月09日 09:08
  • 75485

JAVA 中URL中文参数乱码的处理方法(汇总)

解决输入的全角汉字或者日文在URl中乱码的问题。以下我的实现 JSP代码:function shiborikomuFw() {                                     ...
  • coomon2000
  • coomon2000
  • 2008年12月23日 17:31
  • 25698

请求参数的中文乱码问题总结

首先实现这样一个页面   在doGet和doPost中写入: 输出的结果:               doGet : 乱码                doPost : 乱码...
  • redarmy_chen
  • redarmy_chen
  • 2011年11月11日 19:11
  • 2559

html 之间如何通过URL传输参数,并解决中文乱码问题

首先先看一个HTML页面间传递参数的小例子:                              当在输入框中输入内容后,点击搜索,应用就会跳转到搜索页面,并传递了上一个页面搜索的内容“九”...
  • qq_30979185
  • qq_30979185
  • 2017年05月28日 19:31
  • 7770

关于地址栏传中文参数乱码的解决办法

在中文参数加入到地址栏之前进行转码。在中文加入到地址栏前,进行两次encodeURI转码,在之后的页面中只需进行一次decodeURI转码就可以了。...
  • sanai_1992
  • sanai_1992
  • 2017年08月17日 17:24
  • 1797

解决传递中文参数过程中的乱码问题

1、从jsp中上传中文参数到action,解决乱码问题方法 response.setHeader("refresh","0;URL=/demo/VmListByClassNameAction.act...
  • vgxpm
  • vgxpm
  • 2015年01月01日 10:26
  • 1579

js向url中添加参数

function addUrlPara(name, value) { var currentUrl = window.location.href.split('#')[0]; if (/\?/g....
  • zuo_hy
  • zuo_hy
  • 2015年03月17日 18:09
  • 20044

jquery 取url参数和在url加参数

(function ($) {     $.extend({         Request: function (m) {             var sValue = location....
  • ch4230052
  • ch4230052
  • 2012年06月27日 14:41
  • 11404
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:URL添加中文参数乱码解决办法
举报原因:
原因补充:

(最多只允许输入30个字)