「PHP」urlencode()の文字コードを指定する方法(文字化け対策)

PHP文字コード

urlencode()を使っても、自サイトでないAPIや検索結果にGETクエリを投げる場合は送信先の文字コードに合わせないと文字化けやエラーが発生します

urlencode()自体には文字コードオプションがないので、mb_convert_encoding()で指定の文字コードに変換してからurlencode()に掛ける必要があります

$keyword = "なるほど。";
$keyword = mb_convert_encoding($keyword,"EUC-JP");
$url = ’https://xxxx.com/?search=’.urlencode($keyword);

“utf-8″、”SJIS”、”EUC-JP”など

PHP文字コード

Posted by Yousuke.U