GoogleAPIの文字化けについて
05/09/02 | Nucleus , Webネタ・サイト更新 | サクラキャンドル
8月中旬くらいから、うちのサイトで表示していたGoogleの検索結果(NP_Relatedを利用)がおかしくなる問題、解決いたしました。
発端はNucleus日本語フォーラムの記事。あんまりNP_Relatedを利用している人は少ないのかとか、いつか直るだろうと思っていたんですが、そのレスの中に、
というお話が。そういえば結果がおかしくなったころに、Google Mapsで日本語の地名での検索が可能になったり、Google Localでお店が検索できるようになったりしたので、それがらみの変更かも。
Google APIを使った検索スクリプトの修正はnakahara21からダウンロードできます。
それではNP_Related修正点を紹介。
私の使用サーバはXREAで、文字コードはUTF-8です。
まず、nakahara21さんの
http://nakahara21.com/?itemid=602
から、サンプルスクリプトのzipファイルをダウンロード。
解凍してできるファイルのうち、「de.php」をUTF-8に変換して保存。
次に、NP_Related.phpファイルを修正
78行目付近
671行目付近
そのそばの
最後に、NP_Related.phpと同じフォルダにde.phpをアップロードします。
ただ、NP_Relatedがgoogleにデータを取りに行くタイミングは、記事投稿時とユーザが設定した時間間隔ごとですので、過去の検索結果が残ってる場合にはすぐに反映されないことにご注意ください。
これについて日本語フォーラムで、nakahara21さんから
というコメントもいただいています。確かにincludeの位置はそちらの方が、呼出しごとにincludeされないのでよさげですね。
発端はNucleus日本語フォーラムの記事。あんまりNP_Relatedを利用している人は少ないのかとか、いつか直るだろうと思っていたんですが、そのレスの中に、
で、なぜこのように仕様変更したのかというと、たぶんajaxがらみですね。(まったーーく違うかもしれないけど)
javascriptに文字列を渡してやり取りするときに、なんだかこのコード体系がイイらしいんですよ。(全く勘。)
NP_TrackBack2.0xで実装されています。
というお話が。そういえば結果がおかしくなったころに、Google Mapsで日本語の地名での検索が可能になったり、Google Localでお店が検索できるようになったりしたので、それがらみの変更かも。
Google APIを使った検索スクリプトの修正はnakahara21からダウンロードできます。
それではNP_Related修正点を紹介。
私の使用サーバはXREAで、文字コードはUTF-8です。
まず、nakahara21さんの
http://nakahara21.com/?itemid=602
から、サンプルスクリプトのzipファイルをダウンロード。
解凍してできるファイルのうち、「de.php」をUTF-8に変換して保存。
次に、NP_Related.phpファイルを修正
78行目付近
include("nusoap.php");
行のあとにinclude("de.php");
を追加。 671行目付近
$parameters = array(
行の前に$c = new ENC;
if (_CHARSET != 'UTF-8') {
$q2 = $c->_restore_to_utf8(stripslashes($q));
}else{
$q2 = $c->_decode_entities(stripslashes($q));
}
$q2 = $c->_utf8_to_entities($q2);
を追加。 そのそばの
"q" => mb_convert_encoding(stripslashes($q),'UTF-8',_CHARSET),
を"q" => $q2,
に変更。 最後に、NP_Related.phpと同じフォルダにde.phpをアップロードします。
ただ、NP_Relatedがgoogleにデータを取りに行くタイミングは、記事投稿時とユーザが設定した時間間隔ごとですので、過去の検索結果が残ってる場合にはすぐに反映されないことにご注意ください。
これについて日本語フォーラムで、nakahara21さんから
de.phpをincludeするのは、
// Not in cache or outdated. Get new data
と書いてある行の直後くらいが良いと思います。
キャッシュ読み込み時はincludeしない方が少しかメモリ節約になると思うので。
というコメントもいただいています。確かにincludeの位置はそちらの方が、呼出しごとにincludeされないのでよさげですね。
最終更新:06/06/11 10:30
関連記事[サンプルスクリプト XREA utf]
- Nucleusのプラグイン開発::09/08 07:45:32
- GoogleAPIの文字化けについて
- NP_ItemNaviEX 0.97 カスタマイズ::07/13 07:37:27
前後の記事 - [Webネタ・サイト更新]::タイトル一覧
- PHPを思い出しつつ::09/07 07:06:14
- GoogleAPIの文字化けについて
- Google Mapを使ってみた::08/27 11:01:53
コメント
コメントはありません。