url 编码 js url传参中文乱码解决方案_javascript技巧

1.配置文件web.config中 在节中加上整个网站的编码方式。
<globalization fileEncoding="GB2312" requestEncoding="GB2312" responseEncoding="GB2312"/>
这样参数就以gb2312的中文编码方式传输了。而一般默认是utf-8.
2.在传参是先编码在传输,接受时先编码,在接收。
string mm=Server.URLEncode(你);
Response.Redirect(index.aspx?mm=+mm);
然后在接收页解码:
string mm = Server.URLDecode(Requext.querystring(mm));
javascript中存在几种对URL字符串进行编码的方法:escape(),encodeURI(),以及encodeURIComponent()。这几种编码所起的作用各不相同。
escape() 方法:
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。
不会被此方法编码的字符: @ * / +
encodeURI() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '
encodeURIComponent() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。
不会被此方法编码的字符:! * ( ) '
因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用 escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者 encodeURIComponent。
另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。

传参:用encodeURI("url参数")将url编码
收参:用decodeURI("接收到的值")解码

时间: 2024-08-30 13:32:39

url 编码 js url传参中文乱码解决方案_javascript技巧的相关文章

服务器-URL传参中文乱码,new string(&amp;amp;quot;iso-8859-1&amp;amp;quot;,&amp;amp;quot;utf-8&amp;amp;quot;)方法不行

问题描述 URL传参中文乱码,new string("iso-8859-1","utf-8")方法不行 小白接触后台不多,用myecplise开了一个服务器(tomcat),其中有url参数:http://xxx(ip)/downloadservlet?name=小儿鼻出血.mp4 ,然后出现乱码,服务器无法定位到该文件. 查网发现大部分对name进行转码,用name= new string("iso-8859-1","utf-8&qu

JAVA导Excel到Mysql传参中文乱码

问题描述 问题是这样:我把Excel里面一列中文查找出来放在数组里面,然后遍历数组,去数据库中查其对应的字典值SQL语句:SELECTT.NID,T.NAMEFROMTRADE_DIC_TYPETWHERET.NAMELIKE?然后ps.setString(Arr.get[i]);//Arr.get[i]是中文然后再后台打印出来的sql语句里面"?"部分是乱码请问这个怎么解决? 解决方案 解决方案二:ps.setString(Arr.get[i]);这句应该是ps.setString(

PHP中文乱码解决方案_php技巧

汉字乱码真是一个悲催的事情,JAVA讨厌汉字,PHP也不喜欢汉字:     Java乱码最终使用了spring给出的过滤器来过滤,处处过滤,其实影响了速度,不过没有办法,汉字就是W国首先不考虑的事情:     想不到PHP也是乱码处处在,当你使用亲兄弟MySQL的时候,汉字显得那么亲切,从未考虑过他会变成天书:不过为了和其他其他交互,把PHP的手伸到SQL SERVER的时候,乱码来了,原因是第三方系统用的GBK编码:     哎,转换吧:    1,PHP自带的转换函数ICONV,一个高大上的

【技术贴】解决前台js传参中文乱码

    方法1: 前台两次编码,后台一次解码.因为getParamet已经自动解了一次了. JavaScript: window.self.location="list.jsp?searchtext="+encodeURIComponent(encodeURIComponent(seartext));   java: searchtext=java.net.URLDecoder.decode(searchtext,"UTF-8");     方法2: 另外还有一种方

快速解决FusionCharts联动的中文乱码问题_javascript技巧

问题内容: 使用fusioncharts 时,也许你想在如demo.html 这个页面点击Chart的一个部分,然后显示这个部分的详细内容. fusioncharts有setDataXML,setDataURL 这两个方法是用来设置数据的.但是会有乱码问题(可能出现在AJAX情况),具体使用过的童鞋应该明白. 具体细节不详细说明了. 处理办法. 如果你Ajax请求的返回内容乱码,就直接使用Jquery.ajax. 复制代码 代码如下: function mychartclick(month) {

js的alert弹出框出现乱码解决方案_javascript技巧

我的页面是: 复制代码 代码如下: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 在页面中调用了另一个function.php文件里面的一个函数, 这个函数里面的代码是: cho '<SCRIPT language=Javascript>alert("感谢参与!您的10次投票机会已经全部用完!");</script>'

js左侧多级菜单动态的解决方案_javascript技巧

复制代码 代码如下: <div><a onclick="news_pro('1.1')">1</a></div> <div id="1.1" > <div> <a onclick="news_pro('1.1.1')">1.1</a></div> </div> 这就出现两次类别了,点父级显示(隐藏)子级菜单,JS代码也就一句话:

编码-Android httppost 上传文件 中文乱码

问题描述 Android httppost 上传文件 中文乱码 利用CustomMultipartEntity附加的内容: 按照网上的指示,为httppost设置编码,new FileBody时转码,统统不好使! 真心求助!! 核心代码如下: @Override protected String doInBackground(String... params) { String serverResponse = null; HttpClient httpClient = new DefaultH

ssm-MultipartFile 图片上传后中文乱码

问题描述 MultipartFile 图片上传后中文乱码 String filename = myfile.getOriginalFilename(); 原本文件名称:单身汪.jpg 获取:???è???±?.jpg 解决方案 form上传的?post请求?控制台输出编码集不一致?打个断点,看看是在怎么时候乱码的! 解决方案二: String filename = new String(myfile.getOriginalFilename().getBytes(),"编码名称");