“&”がいつのまにか”&;”になった場合の対処法
色々ライブラリとか呼び正していると、いつの間にか”&”が”&”になっている場合があります。
例えば下記を見てください。
http://localhost/getItem?key=xxxxxxxxx&tag=test&category=music
が、
http://localhost/getItem?key=xxxxxxxxx&;tag=test&;category=music
になる場合があります。
これはphp.iniの設定の問題で、php.iniの「arg_separator.output」の値を「&;」から「&」に変更するか、もしくは下記のような方法を使うのがいいでしょう。
$separator = ini_get('arg_separator.output'); 2 ini_set('arg_separator.output', '&'); //一時的に変更 3 $q = http_build_query($data); 4 ini_set('arg_separator.output', $separator); //元に戻す
で対応することができます。
※注意
amp;の”;”は消えてしまうので全角に変換しています。