js/java页面url值传递中文编码解码问题

 2024-02-18 03:03:34  阅读 0

地址栏中出现汉字有两种情况。 一是URL的路径部分出现中文字符。 另一种是URL的参数传递部分出现中文字符。 第二种情况,参数必须编码后传递。 接受时,通过解码完成参数传递。 js中常用的编码方式有()、()、()三种。 当提交页面和处理页面的编码格式相同(例如两者都是)时,经常使用 ()。 ()和()的用法基本相同,不同的是()还编码“?”等特殊字符。

当我第一次遇到中文参数时,我用()来编码它们。 通过它们之后,我发现解码有问题,于是我想到可能是编码方法使用错误,所以我使用了()方法,然后发现解码时抛出了异常。 借助百度搜索异常,

我发现是()方法导致了异常,同时也了解了浏览器如何传输地址的一些原理。 在浏览器地址栏中,浏览器认为%是转义字符,浏览器会对%和%之间的值进行编码。 这两个位被取出、解码,然后传递到处理页。

然后由处理页再次对其进行解码。 由此,我认为一直使用该方法是正确的,但我需要使用该方法两次,例如 (("")); 第一次是将中文编码成%xy格式,

第二次是将%编码到%xy中,%编码成%25。整个参数传递过程应该大致如下:使用((“中文”))编码提交页面,并传递最终的编码结果% 25xy到处理页面的过程,浏览器获取URL地址

java中编码_java编码方式_java url对象编码问题

(注意方法,浏览器无法获取参数编码)然后解码成%xy,然后将%xy传给处理页面。 处理页面使用.(.("参数名"),"UTF-8"); 来完成解码。

总结:

1、当URL路径部分出现中文字符时,无需编码或解码;

2.使用2种编码;

3、不能用在()开头的模态形式中。 正确获取参数;

客户端和服务器端在传输数据时可以使用过滤器解决字符编码问题,但只能解决post方式提交的数据。 对于get方法,可以使用两次((“中文”)),并在服务器中使用。 ("中文","UTF-8");

今天使用Ajax验证数据的时候也遇到了这个问题。 虽然页面、类、web容器都统一了字符编码,但是提交的数据还是乱码,所以我使用了2次()编码的方法,乱码问题解决了。

/info?ls="+(())+"&zt="+(())s

中间

ls=.("ls");

ls = new (ls.("iso-8859-1"),"utf-8");

ls = ..(ls,"UTF-8");

标签: js获取url参数 url js

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码