php中,urldecode不转义中文

发布时间:2024-08-12 17:55:11 来源:君肯网

a页

&lta href=”b.php?a=中文”&gt链接&lt/a&gt

b页

&lt?php

$a= urldecode($_GET[’a’])

echo $a

?&gt

中文能够正常显示,保证2个页面的编码一致

jmeter参数中的url转码和url解码

url的在线编码和解码工具: http://tool.chinaz.com/tools/urlencode.aspx

1、基本知识

URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、 Google等搜索引擎中输入中文查询时候,生成经过 Encode过的网页URL。URLEncode的方式一般有两种一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),一种是 基于UTF-8的Encode(Google,Yahoo等使用)。本工具分别实现两种方式的Encode与Decode。

中文 -&gtGB2312的Encode -&gt����

中文 -&gtUTF-8的Encode -&gt中文

Html中的URLEncode:

编码为GB2312的html文件中,

http://ud03.kinoko.name/中文.rar -&gt浏览器自动转换为 -&gthttp://ud03.kinoko.name/����.rar

注意:Firefox对GB2312的Encode的中文URL支持不好,因为它默认是UTF-8编码发送URL的,但是ftp://协议可以,我试过了.我认为这应该算是Firefox一个bug.

编码为UTF-8的html文件中,

http://ud03.kinoko.name/中文.rar -&gt浏览器自动转换为 -&gthttp://ud03.kinoko.name/中文.rar

PHP中的URLEncode:

//GB2312的Encode

echo urlencode(“中文-_. “).”\n”// ����-_.+

echo urldecode(“����-_. “).”\n”//中文-_.

echo rawurlencode(“中文-_. “).”\n”// ����-_.

echo rawurldecode(“����-_. “).”\n”//中文-_.

?&gt

除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。

urlencode和rawurlencode的区别:

urlencode 将空格则编码为加号(+)

rawurlencode 将空格则编码为加号( )

如果要使用UTF-8的Encode,有两种方法:

一、将文件存为UTF-8文件,直接使用urlencode、rawurlencode即可。

二、使用mb_convert_encoding函数。

$url = ‘http://ud03.kinoko.name/中文.rar’

echo urlencode(mb_convert_encoding($url, ‘utf-8′, ‘gb2312′)).”\n”

echo rawurlencode(mb_convert_encoding($url, ‘utf-8′, ‘gb2312′)).”\n”

//http://ud03.kinoko.name/中文.rar

php中,urldecode不转义中文

?&gt

实例:

function parseurl($url=””)

{

$url = rawurlencode(mb_convert_encoding($url, ‘gb2312′, ‘utf-8′))

$a = array(“:”, “/”, “@″)

$b = array(“:”, “/”, “@”)

$url = str_replace($a, $b, $url)

return $url

}

$url=”ftp://ud03:password@ud03.kinoko.name/中文/中文.rar”

echo parseurl($url)

//ftp://ud03:password@ud03.kinoko.name/����/����.rar

?&gt

JavaScript中的URLEncode:

中文-_. 中文-_.

encodeURI 不对下列字符进行编码:“:”、“/”、“”、“?”、“@”等特殊字符。

http://ud03.kinoko.name/中文.rarhttp://ud03.kinoko.name/中文.rar

2、示例

http://canvas.gdt.qq.com/canvas/1?viewid=%12%0C%08%E1%98%B7%CD%CB%DC%14%20%E4%A5%01%18%FF%89%18&ampckn=91142321196129

1)utf-8解码

http://canvas.gdt.qq.com/canvas/1?viewid=�ᘷ���� ������&ampckn=91142321196129

2)gb2312解码

http://canvas.gdt.qq.com/canvas/1?viewid=�针吠塑� 浈��?&ampckn=91142321196129

测试中提交的中文参数 需要进行URL转码

使用函数 ${__urlencode()}

例如 :

${__urlencode(你好)}

${__urlencode(${参数变量})}

测试中返回的中文参数 需要进行URL 解码

使用函数 ${__urldecode()}

例如 :

${__urldecode(%E4%BB%93%E5%BA%93)}

${__urldecode(${参数变量})}

原文地址https://blog.csdn.net/zhang_xingneng/article/details/106420944

以上就是关于php中,urldecode不转义中文全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

a页 &lta href=”b.php?a=中文”&gt链接&lt/a&gt b页 …
查看详情
a页 &lta href=”b.php?a=中文”&gt链接&lt/a&gt b页 …
查看详情
a页 &lta href=”b.php?a=中文”&gt链接&lt/a&gt b页 …
查看详情
相关文章
推荐游戏
风之谷
风之谷
游戏资讯 10.5M
下载
斗罗大陆3
斗罗大陆3
游戏资讯 566.9M
下载
冠军网球
冠军网球
游戏资讯 148.1M
下载
最佳炮手
最佳炮手
游戏资讯 68.1M
下载
如梦下弦月
如梦下弦月
游戏资讯 840.1M
下载
富甲封神传
富甲封神传
游戏资讯 263.0M
下载