[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 メーリングリストの案内