PHP中文utf与gbk相互转码及URL编码转换
更新:2016-02-18 08:26:05
人气:16243
来源:本站整理
A+
把中文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经验分享
- ● MySQLSUM在没有符合查询条件时返回结果为空的处理办法
- ● 如何开启PHP8的JIT提升运行速度
- ● 钉钉API接口-用PHP+Curl实现获取用户信息
- ● 钉钉API接口-用PHP+Curl实现获取应用Access_Token
- ● 在PHP中使用CURL,“撩”服务器只需几行——phpcurl详细解析和常见大坑
- ● MySQLInnodb并发涉及参数说明
- ● mysql参数调优之innodb_thread_concurrency、innodb_concurrency_tickets合理的使用cpu性能
- ● PHP用fsockopen检测指定IP端口是否开启可用
- ● PHP用socket检测服务器IP端口是否开放?代码示例
- ● GatewayWorker报错:Waring:Events::onMessageisnotcallable