3月
19
2005

Ajaxでの日本語データわたし

Webで和英辞典をつくってみた。

辞書データは、edictを加工してMySQLに入れました。
http://www.csse.monash.edu.au/~jwb/edict.html
なぜか一部のデータが載らないのだが、テスト用に使うには問題なので、今のところはこのままでいいだろう。

Ajaxだけとは限らないけれど、HPに入力したデータをサーバーに渡すときは注意が必要だ。英数字はほとんどそのまま渡せばいいのだが、日本語の場合は文字コードに注意しなくてはならない。
いろいろいじっていたら、なんとかできた。

データをサーバーに渡すときには、POSTとGETの方法がある。
今回はGETで渡した。

ブラウザ側のJavaScriptでは、以下のように日本語をencodeURI関数で処理してから渡す。

ブラウザ側:
var word = document.getElementById(“word”).value;
http.open(“GET”, “shori.php?word=” + encodeURI(word), true);

サーバーはPHPで処理する場合は、以下のようにする。最初に、urldecode関数、次にUTF-8からEUCに変換する。サーバーの標準文字コードはEUCのため。

サーバー側:
$word = urldecode($_GET[‘word’]);
$word = mb_convert_encoding($word,”eucJP-win”,”UTF-8″);

実際には、サーバーのこの処理のあとにMySQLのDBを呼び出して処理をしてXMLで返している。

とりあえず、Ajaxでの日本語処理はうまくいった。

明日は、いろいろ機能を追加してみよっと。

Written by in: 楽天日記 |

コメントはまだありません »


コメント&トラックバック




トラックバック URL

コメントのRSS feed