[pgsql-jp: 27088] Re: Postgresの文字コードについてご教授下さい。

n-hamada @ hitachijoho.com n-hamada @ hitachijoho.com
2002年 8月 20日 (火) 13:11:42 JST


徳家様、田中様、石井様

早速のご回答どうもありがとうございます。
まだまだ資料の読み方が足りなかったようです。
お三人に頂いたヒントを元に再度、インターネットで資料を探してみます。
ありがとうございました。


				日立情報 濱田


石井です.

>   現在、DB、HTMLファイルの保存形式、<meta>タグのcharset指定
> 等をすべてEUCで統一しているのですが、携帯電話の環境を構築
> することになり、Shift_JISに統一するべきなのかと考えております。
>   そこでpostgresの設定をShift_JISに変更したいのですが、その方法がわかりま
せ
> ん。
> 
> インターネットで情報を集めていますと、configureの際に文字コードを指定
> できるということがわかったのですが、指定するコードにはSJISはなく、
> SJISを使用する場合でもEUC-JPを指定するというようなことが書いてありました。
> また、私はPostgresをRed Hat LinuxのRPMを使用してインストールし
て
> いるので
> configureの工程は通ってません。ソースからコンパイルしてインストールしない
と
> 文字コード指定は変更できないのでしょうか? 

せっかくPostgreSQL7.1の翻訳マニュアルが書籍やHTMLで手にはいるのですか
ら,その位は見て頂きたいと思います.全部そこに書いてあります.

結論から言うと,PostgreSQLではDBがEUC_JPでも,クライアント側をSJISにす
ることができます.EUC_JP <--> SJS のコード変換はPstgreSQLがやってくれ
ます.もちろん再コンパイルとかは必要ありません.具体的な方法はマニュア
ルを見てください.

> (現象)
> 『申込者』→『錐梹メ 』Linux環境の受付システムを作成しておりますが、
> 特定の文字で化けが発生します。

PostgreSQLのDBがEUC_JPなのに,DBへの入力データをSJISにしたらそれは普通
動かないでしょう:-) ある文字ではたまたま動くかも知れませんが,「申」の
ように2バイト目に"〓"(バックスラッシュ)来る文字が出現すると,てきめん
エラーになってしまうわけです.今回たまたま7.1だから動きましたが,7.2で
は文字コードのチェックが厳しくなっており,文字化け以前にEUC_JPのDBに対
してEUC_JPとして不正なデータは入力すらできなくなります.

それにColdFusionのパーサは大丈夫なんでしょうか.SJISを完全にサポートし
ていなければ「2バイト目問題」が発生すると思います.ColdFusion知らない
ので外しているかも知れませんが.

というわけで,ColdFusionがSJISを完全にサポートしている前提ならば,上に
書いたようにPostgreSQLのDBがEUC_JPであってもコンテンツをSJISにすること
は可能です.

P.S.	現時点では,携帯コンテンツのような尋常でないSJISの文字を扱うプ
ログラムを開発するには,PHP+PostgreSQLが適していると思います.これなら
「絵文字」も楽に扱えます.
--
Tatsuo Ishii





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