[ubuntu-jp:2331] Re: ubuntu9.10でのPHP+PostgreSQL開発について

HOTTA Michihide hotta @ net-newbie.com
2009年 11月 26日 (木) 10:17:52 GMT


堀田@長崎市です。

From: Toshio KANEKO <kim-t at r3.dion.ne.jp>
To: Ubuntu Japanese Local Community Team <ubuntu-jp at lists.ubuntu.com>
Date: Thu, 26 Nov 2009 18:28:45 +0900
Subject: [ubuntu-jp:2330] Re: ubuntu9.10でのPHP+PostgreSQL開発について

> > m-hotta at gaia:~$ php -r 'pg_connect("host=localhost dbname=dbname user=user password=passwd port=5432");'
> > PHP Warning:  pg_connect(): Unable to connect to PostgreSQL server: FATAL:  ユーザ"user"のIdent認証に失敗しました in Command line code on line 1
> > 
> > これで実際に接続が試され、PostgreSQL からエラーが返ってきています
> > (8.4 からエラーメッセージが日本語になりました)。
> > 
> > 例によって、文字化けする場合は、コマンドの頭に LANG=C をつけてから
> > やってみてください。
> > 
> PostgreSQLからエラーメッセージが返され、Warningメッセージが出力されるの
> ですが、LANG=Cを先頭につけても文字化けする(?になる)ため内容がわかりま
> せん。

失礼しました。PostgreSQL からのメッセージはすでに日本語化された
ものが php に渡されてきますので、php を LANG=C で起動したところ
で文字化けの問題は解決しないようです。

> DBの名称などは正しいものを使っているはずなのですけれども。
> 日本語でエラーメッセージが表示されない理由もわかりません。

状況を日本語で説明するのではなく、コマンドラインをそのままメール
にコピペしてください。で、必要であればパスワードだけを伏字にする
など。

これならいかがでしょう?

(UTF-8に変換)
$ php -r 'pg_connect("host=localhost ...");' 2>&1 | nkf -w

(EUC-JPに変換)
$ php -r 'pg_connect("host=localhost ...");' 2>&1 | nkf -e

(Shift_JIS に変換)
$ php -r 'pg_connect("host=localhost ...");' 2>&1 | nkf -s

(JIS に変換)
$ php -r 'pg_connect("host=localhost ...");' 2>&1 | nkf -j

nkf コマンドがないようなら(Ubuntu は使ってないのでわからないの
です…)

# apt-get install nkf 

などで入れてください。それでも化けるようなら、

$ grep ^mbstring /etc/php.ini

の結果を教えてください。

# php-users ML 向けの話題になってきたかも…w

-- 
HOTTA Michihide <hotta at net-newbie.com>



ubuntu-jp メーリングリストの案内