使用特定Charset进行URL编码

时间:2013-07-01 01:49:58

标签: php html encoding character-encoding urlencode

当我尝试使用GB2312用于编码的“http://www.url-encode-decode.com/”链接时,它会返回%D4%B2%CD%A8%CB%D9%B5%DD ,这就是我想要的。但是当我使用

在php中进行正常的URL编码时
$urlencoded = urlencode('圆通速递');

它返回

%E5%9C%86%E9%80%9A%E9%80%9F%E9%80%92

不是我想要的。我如何在特定的字符集中进行URL编码?

2 个答案:

答案 0 :(得分:1)

您应该首先尝试转换字符串的编码。像这样:

$urlencoded = urlencode(mb_convert_encoding('圆通速递','GB2312','UTF-8'));

答案 1 :(得分:1)

echo urlencode(mb_convert_encoding('圆通速递','GB2312',"auto"));

结果:

%D4%B2%CD%A8%CB%D9%B5%DD