podivne trideni v pgsql 7.1.3, delam chybu ja nebo postgres?

Pavel Lisy pali na tmapy.cz
Čtvrtek Leden 10 11:03:12 CET 2002


Narazili jsme na problem s ceskym tridenim v PostgreSQL 7.1.3

postgres mám přeložený ze zdrojáků:

./configure --prefix=$POSTGRESBASE \
   --enable-locale --enable-recode \
   --enable-multibyted --enable-unicode-conversion \
   --with-tcl --with-perl --with-python
make
make install




Když vytvořím databázi popel:

createdb -E latin2 popel

Otestuji výsledek

bash-2.05$ psql -l
  Database   |  Owner   | Encoding  
-------------+----------+-----------
 mu_jablonec | root     | SQL_ASCII
 popel       | postgres | LATIN2
 postgres    | root     | SQL_ASCII
 root        | root     | SQL_ASCII
 template0   | postgres | SQL_ASCII
 template1   | postgres | SQL_ASCII
(6 rows)

Naplním nějakými daty a vypíšu setříděně, dostanu následující nesmysl:

bash-2.05$ psql -d popel -c "SELECT * FROM tabulka order by nazev"
 nazev
-------
 žžžž
 šššš
 šašek
 aašek
 aaaa
 bbbb
 casek
 cccc
 dddd
 čašek
 eeee
 čččč
 ffff
 gggg
 ěěěě
 ďďďď
 kasek
 řašek
 řřřř
 rasek
 rrrr
 sasek
 ýýýý

(24 rows)


PostgreSQL je spouštěn pod uživatelem postgres, se správně nastaveným
locale

su - postgres     
bash-2.05$ locale
LANG=cs_CZ
LC_CTYPE="cs_CZ"
LC_NUMERIC="cs_CZ"
LC_TIME="cs_CZ"
LC_COLLATE="cs_CZ"
LC_MONETARY="cs_CZ"
LC_MESSAGES="cs_CZ"
LC_PAPER="cs_CZ"
LC_NAME="cs_CZ"
LC_ADDRESS="cs_CZ"
LC_TELEPHONE="cs_CZ"
LC_MEASUREMENT="cs_CZ"
LC_IDENTIFICATION="cs_CZ"
LC_ALL=cs_CZ


Používám distribuci RH 7.2, napadá vás někoho, jak to vyřešit?

Pavel


-- 
Pavel Lisy <pali na tmapy.cz>
T-MAPY spol. s r.o., http://www.tmapy.cz
Nezvalova 850, Hradec Kralove, 50003
tel: +420-49-5513335 fax: +420-49-5513371

O mapach vime vse: http://www.tmapserver.cz



Další informace o konferenci Linux