urlencodeのマニュアルを見ても第一引数しかありませんが、
mb_convert_encodingで文字列をエンコードすれば、
出力したい文字コードでurlエンコードできます。
$tmpname = "URL%e3%82%a8%e3%83%b3%e3%82%b3%e3%83%bc%e3%83%89%e3%83%86%e3%82%b9%e3%83%88"; if( strpos($tmpname,'%') !== false ){ $tmpname = urldecode($tmpname); $sjisStr = mb_convert_encoding($tmpname , 'SJIS' , 'UTF-8'); $tmpname = $sjisStr; }