网址url中有中文时的分析和处理方法

[php] 2024-04-19 圈点107

摘要:​网址url中有中文时的分析,在网址中包含中文有2个情况如下

网址url中有中文时的分析,在网址中包含中文有2个情况如下

一,路径中包含中文

比如:www.xoxxoo.com/测试文件夹/index.html


那么不同的浏览器对这个网址会有不同的处理方式,比如chrome会用utf-8处理中间的中文,但IE会用系统的编码类型进中文进行编码,因此在不同的操作系统或浏览器下,会产生不同的网址url,所以部分情况下会是404错误。



二,路径中不包含中文,但参数包含中文,这种情况又分以下几种情况

1),直接的网址参数中包含中文

比如 www.xoxxoo.com/ziyuan/index.html?a=字母


2),提交的表单的内容中包含中文,并以GET方式提交

这种情况一般是以页面的编码方式为准,

比如

<meta http-equiv="Content-Type" content="text/html;charset=utf8">,那么中文参数就是utf8编码,


3)Ajax请求的url中包含中文

一般情况下也以ajax中设置的编码为依据,有时候也有系统有关系


总之一句话,使用中文的时候,编码会比较复杂,很可能会出现意想不到的结果。


网址url中有中文时的处理方法

如果是网址中包含有中文,直接对整个网址进行encodeURI就可以了,转码后即会统一URL,不会出现不一致的情况;

如果是参数中包含中文,也是要先将中文转码encodeURI,然后在接收参数的时候,再转回中文。


url包含中文  

感谢反馈,已提交成功,审核后即会显示