- PR -

Ajax「PHP+PostgreSQL」でデータが取得できない

1
投稿者投稿内容
hogehoge
会議室デビュー日: 2006/05/15
投稿数: 5
投稿日時: 2006-05-15 19:16
初めて投稿します。よろしくお願いします。

Ajaxで郵便番号検索を作成しています。
構成はJavaScript+PHP(4.3.11)+PostgreSQL 7.3.4で開発しています。

このときに郵便番号「半角数値」からは取得できるのですが、
住所「全角」からの検索を行うと取得できません。

JavaScriptから送信するエンコードは
var encdata = encodeURI( data )
を使用してUTF-8に変換しています。
また送信はPOSTを使用して行っています。

PHP側ではデータを受け取り、PHP内でSQLを作成しています。
作成後、pg_queryを用いて取得します。

$pos = $_POST['test'];
$strSql = "SELECT JUSYO FROM YUBIN WHERE YUBINO LIKE '".$pos."%'";
$db->pg_query(conn, $strSql);

調査の結果、
文字コードに問題があるのではと考えています。
取得できない場合の文字コードはUTF-8でした。

しかしPHP単独で動作させた場合は取得できました。
このときの文字コードはSJISだったので、
UTF-8をmb_convert_encoding()でSJISに変換を行ったところ、
文字化けしてしまい取得することが出来ませんでした。

どなたか同様の現象で解決されたかたがいらっしゃいましたら、
アドバイスをお願いします!!
1

スキルアップ/キャリアアップ(JOB@IT)