Edited at

【php】urlencode()で文字コードを指定する

More than 3 years have passed since last update.

urlencodeのマニュアルを見ても第一引数しかありませんが、

mb_convert_encodingで文字列をエンコードすれば、

出力したい文字コードでurlエンコードできます。

$sjisStr = 'あいうえお';   //文字コードshift-jisの文字列

$sjisUrl = urlencode($sjisStr); //文字コードshift-jisでurlエンコードされる。

$utf8Convert = mb_convert_encoding($sjisStr , 'UTF-8', 'SJIS');
$utf8Url = urlencode($utf8Convert); //文字コードutf-8でurlエンコードされる。

参考

http://php.net/manual/ja/function.urlencode.php#81442