【PHP】「Google」「Goolge Map]に渡した値が文字化けするときの解決方法
【PHP】
「Google」「Goolge Map]に渡した値が文字化けするときの解決方法
「Google」「Google Map」にリンクを貼って、検索キーワードをそのまま渡しても、
「IE」では文字化けをしてしまい、検索結果も文字化けの状態になる。
「FireFox」では、文字化けもせずに見れてしまうので、「IE」でチェックするまでわからない。
この原因は、簡単。
URLエンコードで、検索キーワードの日本語を「%数字数字」という形にエンコードしてあげるだけで解決する。
PHPでは、エンコードする「URLエンコード」と元に戻す「URLデコード」の関数が用意されている。
「エンコード」と「デコード」で利用する関数
関数 | 説明 |
urlencode ( string $str ) |
文字列をエンコードする関数。
Googleに値を渡すときは、この関数で、検索キーワードをエンコードしなければならない。
|
urldecode ( string $str ) |
エンコードされた文字列を元の日本語などに戻すための関数。
|
検索キーワードをエンコードする方法
サンプルコード
$エンコード変換する変数="エンコード変換する文字列";
$エンコードされた値を格納する変数名=urlencode($エンコード変換する変数);
これだけで文字列がエンコードされる。
文字列をエンコードする方法はすごく簡単。
デコードする場合も同じように、デコード関数を利用して変換するだけ。