PHP – Getパラメータによる2バイト文字渡しでの注意

PHPにてリンクのURLに2バイトの文字列をGetパラメータとして付与しているものがありました。
自身の環境では全く問題無かったので気づかなかったのですが、どうもパラメータが正常に渡らない問題が発生する環境(PC)がある事が分かりました。

色々調べたものの原因はさっぱり分からず…。
問題ある環境でvar_dumpで出力すると文字化けしているのですが、渡す側も受け取る側も文字コードはUTF-8。

とりあえず対処方法としては、渡すときにURLエンコードしておくようにしました。

[code lanhuage=”php”]
<a href="index.php?param=<?=urlencode("2バイト文字"); ?>">link</a>
[/code]

これで問題が起きていた環境でも不具合は無くなりました。

スポンサーリンク
スポンサーリンク



フォローする