PHP:URLのエンコードとデコード(urlencode,urldecode)

WEBページを作成する時に日本語のURLを使用することがあります。

下記のようなURLをブラウザのアドレスバーからコピーします。

http://raining.bear-life.com/テスト/

コピーしたURLをテキストエディタなどに貼り付けると下記のようになります。

http://raining.bear-life.com/%E3%83%86%E3%82%B9%E3%83%88/

「テスト」の箇所がエンコードされています。

phpの「urlencode()」を使用すれば、日本語文字列をエンコードすることができます。

また、逆にURLエンコードされた文字列をデコードする場合は「urldecode()」を使用します。

phpurlencodeurldecode関数を使用して、エンコードデコードをする方法をメモします。


URLエンコード(urlencode)

指定した文字列をURLエンコードします。

$str = 'テスト';
$str = urlencode($str);
echo $str;

出力結果

%E3%83%86%E3%82%B9%E3%83%88

URLデコード(urldecode)

指定したURLエンコードの文字列をデコードします。

$str = '%E3%83%86%E3%82%B9%E3%83%88';
$str = urldecode($str);
echo $str;

出力結果

テスト

URLエンコードで文字列に半角スペースがある場合は「+」になります。