PHPでPostgresqlから取得した文字の文字コードを変換しようとしています。


PHPのデフォルトの設定のままで、mb_string系の関数を使わずに、変換する方法はありませんか?

回答の条件
  • 1人5回まで
  • 登録:2006/09/22 19:33:04
  • 終了:2006/09/25 10:29:57

回答(5件)

id:tobeoscontinue No.1

tobeoscontinue回答回数214ベストアンサー獲得回数542006/09/22 21:53:24

ポイント20pt

TOMOさん(www.spencernetwork.org)のところに漢字コード変換(jcode.php、jcode-LE.php)というのがあります。

コード変換が必要な場合はmb_stringを使っているのでこれらは使ったことはないのですが

id:iiiiiiiii

ありがとうございます。

これはjcode.plのPHP版かな?

できればそういったものを導入せずには無理でしょうか?

2006/09/23 01:16:38
id:kunyami No.2

kunyami回答回数24ベストアンサー獲得回数42006/09/23 01:23:57

ポイント20pt

connectした後に、

set client_encoding={文字コード};

というSQL文を実行するのはいかがでしょうか?

{文字コード}に指定できる文字列は、

http://www.fiberbit.net/user/kunyami/postgresql/parameter/locale...

をご覧ください。

id:iiiiiiiii

sqlでできるのであれば、最高にありがたいです。

調べてみます。

2006/09/23 01:25:25
id:k12u No.3

k12u回答回数80ベストアンサー獲得回数72006/09/23 02:28:47

ポイント20pt

DBサーバでやるだけでも

http://www.postgresql.jp/document/pg814doc/html/multibyte.html#A...

いろんな方法があります.

id:iiiiiiiii

ありがとうございます。

DBにEUCで入っているものを、SJISで取り出すということもできるということでしょうか?

2006/09/24 08:54:14
id:ito-yu No.4

ito-yu回答回数323ベストアンサー獲得回数142006/09/23 16:14:04

ポイント20pt

PostgreSQL側で変換して良いのであれば、以下を参考に。

http://www.postgresql.jp/document/pg814doc/html/multibyte.html#A...

最近のバージョンでは、SET CLIENT_ENCODING TO 'value'; じゃないかと思います。

id:iiiiiiiii

ありがとうございます。

試してみます。

2006/09/24 08:54:37
id:k12u No.5

k12u回答回数80ベストアンサー獲得回数72006/09/24 17:01:12

ポイント20pt

適切に格納してあれば指定したとおりに変換されたデータが得られます。

PostgreSQL自体がデータの文字コードを誤認しているようですと意図せぬ動作をするかもしれません。

ちなみにTO でも = でも、大文字でも小文字でも動作は同じです。

id:iiiiiiiii

ありがとうございます。

2006/09/25 10:29:42

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

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません