«

PHP中文utf与gbk相互转码及URL编码转换

时间:2024-3-3 10:47     作者:韩俊     分类: PHP


把中文url进行编码:

echo urlencode('基本资料进度');//%BB%F9%B1%BE%D7%CA%C1%CF%BD%F8%B6%C8

把转码后的url转换回中文:

echo urldecode('%BB%F9%B1%BE%D7%CA%C1%CF%BD%F8%B6%C8');//基本资料进度

一般情况下是正常的,但是浏览器有时候会自动把转码后的url自动转回中文。

这种情况只需要这样做就可以了,

urlencode(iconv("gbk","utf-8","基本资料进度");//把中文gbk编码转为utf8    
iconv("utf-8","gbk",urldecode('%BB%F9%B1%BE%D7%CA%C1%CF%BD%F8%B6%C8'));

PHP处理中文转码

PHP中对于URL进行编码,也可以使用 urlencode() 或者 rawurlencode(),二者的区别是前者(urlencode)把空格编码为 '+',而后者(rawurlencode)把空格编码为 '%20',不过应该注意的是,在编码时应该只对部分URL编码,否则URL中的冒号和反斜杠也会被转义。

在解码时,可以使用相应的 urldecode() 和 rawurldecode(),相应地,rawurldecode() 不会把加号('+')解码为空格,而 urldecode() 会。

语法:urlencode($str)   rawurlencode($str)   urldecode($str)   rawurldecode($str)

GBK与UTF-8之间的相互转码:

iconv("gbk","utf-8","php中文待转字符");//把中文gbk编码转为utf8
iconv("utf-8","gbk","php中文待转字符");//把中文utf8编码转为gbk

标签: php php教程

热门推荐