人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: iiiiiiiii
●カテゴリ:ウェブ制作
✍キーワード:G系 PHP postgreSQL デフォルト 文字コード
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● tobeoscontinue
●20ポイント

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

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

◎質問者からの返答

ありがとうございます。

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

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


2 ● kunyami
●20ポイント

connectした後に、

set client_encoding={文字コード};

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

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

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

をご覧ください。

◎質問者からの返答

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

調べてみます。


3 ● k12u
●20ポイント

DBサーバでやるだけでも

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

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

◎質問者からの返答

ありがとうございます。

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


4 ● ito-yu
●20ポイント

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

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

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

◎質問者からの返答

ありがとうございます。

試してみます。


5 ● k12u
●20ポイント

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

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

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

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ