[pgsql-jp: 34537] Re: 文字コードの使用について
tomson
tomson_lpcjp @ yahoo.co.jp
2004年 12月 24日 (金) 10:27:56 JST
> こんばんは。石田@苫小牧市です。
こんにちは。tomsonと申します。
> >>指定できるとあったので、($createdb --encoding UTF-8)
> >
> >
> > これは
> >
> > [host @ hoge]$createdb --encoding=5
> >
> > ですね。
> > マルチバイト符号化方式IDで指定しないと、うまくいきません。
>
> 手元では--encoding=UTF-8で問題ないようですが、
> (むしろ--encoding=5では動作しません)
> どういう環境でしょうか?
すいません。psqlのコマンド create databaseと勘違いしておりました。
自環境は、
[w @ compaq w]$ psql -c 'select version()'
version
PostgreSQL
7.3.4 on i386-redhat-linux-gnu, compiled by GCC i386-redhat-linux-gcc
(GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)(1 row)
であります。
apt-get で fedra-regacyでupgradeしているので、RPMの
Postgresになっております。
ソースからコンパイルを試みましたが、tarballがいつも壊れていて、うまくダ
ウンロード出来ないのです。
仕事のとき、FerdraCoreでやったときは、うまく行きました。
しかし自環境で、ご指摘のコマンドを実行した場合、こうなります。
[w @ compaq w]$ createdb utf --encoding=UTF-8
CREATE DATABASE
COMMENT
w=# \l
List of databases
Name | Owner | Encoding
-----------+----------+-----------
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
utf | w | SQL_ASCII<--Encodingが適用されておりません!
(3 rows)
> $ createdb --encoding=5 x
申訳ございません。create databaseと混同しておりました。
この部分は「psqlの」コマンドラインで、
w=# create database utf ENCODING=6;
CREATE DATABASE
w=# \l
List of databases
Name | Owner | Encoding
-----------+----------+-----------
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
utf | w | UNICODE
(3 rows)
としなければなりませんでした。
以前のバージョンでは、unicodeのマルチバイト符号化IDは「5」だったので、
誤って5と書いてしまいました。5はこのversionではJOHABすなわち韓国語です。
なぜこのようになるのかは、ソースコードをみなければなりませんが、
RPM版のsrc.rpmを展開して、ソースを確認するひまがありません。
今回の場合、元記事で7.4.5リリースと書いてあるのに、それを確認しないで
書いてしまいました。
ご指摘ありがとうございました。
pgsql-jp メーリングリストの案内