[pgsql-jp: 38727] Re: クライアントの文字コードと、データベースの文字コードの制限

ITAGAKI Takahiro itagaki.takahiro @ oss.ntt.co.jp
2007年 9月 4日 (火) 18:26:36 JST


板垣です。

藤澤 <qsecofr1 @ hotmail.com> wrote:

> データベースの文字コードを、UTF-8 にしているのですが、
> varchar(10) とした列には、常にブラウザ上の10バイトの文字列を
> 格納できるのでしょうか?
> それとも、UTF-8 の時には、varchar(10) の 10 は文字数を表す
> のでしょうか?

PostgreSQL では、varchar(N) の N は、エンコーディングによらず
常に文字数を表します。実際に格納されているサイズは、エンコーディングに
よって変わります。日本語の文字を 10 文字格納した場合、UTF-8 でならば
たぶん30バイトになりますし、EUC_jp の場合は20バイトかもしれません。

他のデータベースでは、バイト数指定の意味になる場合も多いので、ご注意ください。




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