[pgsql-jp: 30441] Re: PHP4.1.2 + PostgreSQL7.0.3(varchar) が意図しない事になる
風船太郎
FuusenTarou @ hotmail.com
2003年 7月 13日 (日) 00:04:39 JST
Mashiki様
RESありがとうございます。
> >PHPファイルを「SJIS」にしてみたところ
> >正常に登録できました???が
> >「EUC-JP」で統一しているのに出来ないのがおかしいと・・・。
>
> psqlではうまくいくということで完全にphp側の問題のようですね。
>
> 再現実行できる短いソースコードとphpiniのmb_string関連の設定を
> アップすれば誰かわかる人がいるかと思います。
下記に使っているコードと設定です。
-----------
postgreSQL側
-----------
create table aaa(
no varchar(10) not null,
name varchar(32),
);
test=# \l
List of databases
Database | Owner | Encoding
--------------------------------
template1 | postgres | SQL_ASCII
test | postgres | EUC_JP
-----------
php.ini
-----------
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.detect_order = auto
mbstring.substitute_character = none
-----------
test.php (EUCで保存)
-----------
/* DBに接続 */
$con = pg_connect("host=localhost port=5432 dbname=test");
$name = "ああああああああああああああああ";
/* SQL文 */
$sql = "INSERT INTO password values('a','" . $name . "')";
$name = mb_convert_encoding($name,"EUC-JP"); //← ここを "SJIS" にする
とうまくいきます
$rtn = pg_exec($con, $sql);
if(!$rtn){
print ("追加できませんでした。");
} else {
print ("正常に追加できました。");
}
/* DBの接続を切る */
pg_Close($con);
> あとconfigureの「--enable-locale」は過去いろいろな問題を
> 起こしています。ついでに検索をかけてみてください。
検索速度が遅くなると書いてありますね。
よろしくお願いします。
pgsql-jp メーリングリストの案内