質問

CygwinでPostgreSQLを動かしています。
PostgreSQLの標準文字コードをShift_JISにしたいんですが、どうコマンドを打てば良いか分かりません。

本にはEUC-JPを指定する際は
$ initdb -D /usr/local/pgsql/data -E EUC_JP
と打つと書いてありますが、EUC_JPの部分をShift_JISとするとエラーになります。

Shift_JISに設定するにはどのように打てばよいんでしょうか?

通報する

回答 (1件)

PostgreSQLって、サーバ側charsetとしてShift JISは、サポートして無い(即ち、-EでSJISは指定できない)のでは。
代わりに、クライアントとの間でのEUC_JP⇔SJIS自動変換機能を持っていますが。

この回答へのお礼

どうもわかりやすい回答ありがとうございます。

Shift_JISは、サーバ側で設定できないんですか。。
えらいショックです。でも、それが分かってすっきりしました。

クライアントとの自動変換機能があるのは、ありがたいんですが、僕は、PHPからの接続でPostgreSQLを使用するのですが、それでも自動変換してくれるんでしょうか。。

参考URLをみたんですが、ちょっと僕には難しく正直なところわかりません。

PHPをクライアントとして使用する場合のSJIS→EUC_JPの自動変換をするコマンドってあるんですかね??もしあるんだったら教えてください。よろしくお願いします。

僕は、PHPもPostgreSQLもまだ初心者であまりよくわかりません。

PHP側で文字コード変換してからDBに命令を出すのかとかわかりませんよね?もし分かるようだったら教えてください。よろしくお願いします。

この回答への補足

CREATE CONVERSION の使い方はなにか難しそうなので、僕にはちょっとできそうもないんですが、根本的なところに解決法がわかりました。。

それは、PHPをEUC-JPで作成すれば良いだけの話です。。。

どうも大変すみません。ご面倒をおかけしました。

参考URLこれからも利用させてもらいます。本当にありがとうございました。

このQ&Aは役に立ちましたか?8 件

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

新しく質問する

注目の記事

知っておこう!身近に潜むサイコパス

最近メディアでよく見るサイコパスって何?恐ろしいサイコパスの実態についてまとめました。


新しく質問する