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


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

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2006/09/25 10:29:57
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:tobeoscontinue No.1

回答回数220ベストアンサー獲得回数59

ポイント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

回答回数24ベストアンサー獲得回数4

ポイント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

回答回数80ベストアンサー獲得回数7

ポイント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

回答回数323ベストアンサー獲得回数14

ポイント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

回答回数80ベストアンサー獲得回数7

ポイント20pt

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

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

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

id:iiiiiiiii

ありがとうございます。

2006/09/25 10:29:42

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

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

トラックバック

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

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

回答リクエストを送信したユーザーはいません
${title} {{if price }}
${price}円
{{/if}}