[pgsql-jp: 25035] Re: 日本語テーブル/カラム名が文字化けしてしまいます

Naofumi Kondoh nkon @ shonan.ne.jp
2002年 3月 1日 (金) 18:19:22 JST


ARAI Shunichi wrote:
> 
> はじめまして、新井です。
> 
> Postgres 7.2を使っているのですが、カラム名を日本語にしてみよう
> と思い、試しに実験したところ、どうもうまく行きません。
> 
> 文字コードはEUCを使っていますが、下のように文字化けして、
> 名前の一部が違う文字に置き換えられてしまいます。
> 
> カラム名に日本語は使えないのでしょうか?

現在は使えるけど推奨されていないと思います。

表名/列名の日本語使用は、賛否両論ですが、反対意見
の方が多いように思いますが如何でしょうか。

私の経験では、日本語表記は、エンドユーザーコン
ピューティング推進には絶大な効果があると思います。

しかし、将来の互換性や、言語/ツールで日本語の列名
などを使えないものがあるかもしれないなどを考えると、
長期間使用する基幹業務などには、日本語列名は避ける
べきだと考えます。

エンドユーザー用に、日本語の列名の VIEW を作ってあ
げるというのは、いい方法だと思います。


> compile時は--enable-multibyteを指定しています。
> レンタルサーバ上のlinuxでカーネルリビジョンは2.2.19のようです。
> 
> >psql test
> >test=# \encoding euc-jp
> >test=# create table テスト (試験中 integer);
> >CREATE
> >test=# \d
> >   List of relations
> >  Name  | Type  | Owner
> >--------+-------+-------
> > ユスヨ | table | root
> >(1 row)
# Owner が root というのは問題ですね。

文字化けするのは、\d コマンドの時だけですか?。

私の環境では、文字化けしません。
TLJ WS 6.0. PostgreSQL 7.2

kon=# \d
          List of relations
       Name       |   Type   | Owner 
------------------+----------+-------
 テスト           | table    | csl


PGBASH version 2.1 (bash-2.03) でも化けません。
$ d
# Table   = テスト
+--------+------+--------+
| Filed  | Type | Length |
+--------+------+--------+
| 試験中 | int4 |      4 |
+--------+------+--------+


$ pg_dump -s -t テスト  -d kon 
--
-- Selected TOC Entries:
--
\connect - csl

--
-- TOC Entry ID 2 (OID 895277)
--
-- Name: テスト Type: TABLE Owner: csl
--

CREATE TABLE "テスト" (
        "試験中" integer
);


小文字の英数字下線以外を使用する場合は、列名などを
ダブルクォートで囲まなくてはいけません。尤も、今の
版では、ダブルクォートなしでも動くようですが。

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 (株)ソフト工房   近藤直文        Email:  nkon @ shonan.ne.jp 
  《 PostgreSQL+PHPソースコードジェネレーターデモGPL版 》
           http://www.SOFTKOUBOU.co.jp/
           http://www.shonan.ne.jp/~nkon/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/



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