如果将“我”转换成 %E6%88%91
这个不是urlencode,请教方法。
%E6%88%91 应该是UTF8么?
如果你的PHP文件是UTF-8编码的,那么下面的代码就可以正确输出:
<?php
$str='我爱百度';
$utf='';
for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1)));
echo $utf;
?>
如果你的PHP文件是GB的,那么下面的代码可以工作:
<?php
$str='我爱百度';
$str=iconv("GBK", "UTF-8", $str);
$utf='';
for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1)));
echo $utf;
?>
以上情况下,程序输出的内容是:
%E6%88%91%E7%88%B1%E7%99%BE%E5%BA%A6
++++++++++++++++++++++++++
方法二:
$str = rawurlencode(iconv("GBK", "UTF-8", "我"));
echo $str;
iconv 编码转换
rawurlencode 对 URL 进行编码
%E6%88%91是HTTP GET传输时将汉字编码得到的东西
GBK的汉字得到有两个%,UTF-8是3个。
我要将一段汉字转换为utf-8的编码怎么办?
比如说我要将 “中国”两个字转换为 utf-8编码该怎么办?
有话要说