PostgreSQL a Cestina/Slovencina (LONG) (fwd)

Juraj Chlebec - Havran - http://sk.c64.org chlebec at ekon4.uniag.sk
Fri Jul 21 08:25:44 CEST 2000


Prave som sa prihlasil do konferencie a kedze som sa prave zaoberal
pomerne dlho SUBJ. mal by som par poznamok (take zhrnutie).
Takze ak chceme dosiahnut spravne triedenie treba nastavit:

Pre postgresql 7.0.2 (pripadne starsie) - spustit ./configure s: 

--enable-locale
--enable-multibyte=LATIN2 (ak chceme default db vytvarat s podporou L2,
			   inak staci len --enable-multibyte (doporucujem))

Nainstalovat najlepsie do default adresara /usr/local/pgsql.
Doporucujem vytvorit uzivatela pgsql pripadne postgresql (alebo podla
vlastneho vyberu) ktory bude spravovat db. Asi najlepsie je pouzit default
nastavenia (myslim ze FreeBSD pri instalacii portu vytvori uzivatela
pgsql) /usr/local/pgsql < adresar s binarnymi subormi PostgreSQL atd. a
tento adresar zaroven nech je aj domovskym adresarom uzivatela.
Pozor! Doporucujem ponechat pre uzivatela pgsql ako shell obycajny sh 
(ksh) aby sa aktivovali nastavenia v .profile (o ktorom pisem
nizsie) Dalsie etapy by sa uz mali odohravat pod db superuzivatelom pgsql. 

Editovat subor /usr/local/pgsql/.profile a doplnit ho:

LANG=sk_SK; export LANG
MM_CHARSET=sk_SK export MM_CHARSET
LC_CTYPE=sk_SK; export LC_CTYPE
LC_COLLATE=sk_SK; export LC_COLLATE

kde sk_SK nahradime menom adresara v ktorom su locales ktore chceme
pouzivat (napr. pre cestinu to je cs_CZ.ISO_8859-2 alebo pripadny link
ktory je na tento subor obycajne pod menom cs_CZ v adresari
/usr/share/locale)

Vytvorime databazu template1 (na FreeBSD sa vytvori automaticky pri
instalacii portu (myslim :-)) 

./initdb -D /usr/local/pgsql/data 

pripadne bez -D atd., to v pripade ak mame nastavenu premmenu prostredia 
PGDATA (PGDATA=/export/home/pgsql/data; export PGDATA - v .profile napr.)

Ked sa vytvara nova databaza staci pouzit: 

createdb -E LATIN2 meno_databazy

kde parametrom -E urcime kodovanie ktore bude db pouzivat. (treba si
precitat README.locale README.mb - tam by mali byt blizsie informacie o
tom ake kodovania sa daju pouzit a pod. 

No a teraz by malo stacit vkladat spravne data do tabuliek v nasej novej
db a skusit ich zotriedit (SELECT * tabulka ORDER BY stlpec)

Tento postup som pouzil na FreeBSD a potom aj na Sparc SOLARIS 8 a vsetko
bezi v pohode...

Pouzivam postgresql ako db ku ktorej pristupujem cez web (PostgreSQL,
Apache , PHP 4) Databazu mam vytvorenu s parametrom -E LATIN2. Kodovanie
web stranok je v WIN1250 - cize ked sa nieco zada do formulara tak sa to
zasiela v kodovani WIN1250 - Pokial som spravne pochopil (a asi ano ked mi
to funguje :))) tak staci pre to aby som mohol pozerat data vypisane z db
na strankach s kodovanim WIN1250 a takisto aj s tohto kodovania ukladat
data do databazy v LATIN2, staci pouzit nastavenie cez select

SET CLIENT_ENCODING TO 'WIN1250'

co zabezpeci automaticke prekodovanie vyastupnych dat z LATIN2 do WIN1250
a naopak vstupnych dat z WIN1250 do LATIN2 (no ale teraz neviem ci nepisem
bludy ale fakt to funguje) Proste pred kazdou operaciou nad db z LATIN2 si
nastavim  SET CLIENT_ENCODING TO 'WIN1250' a na strankach mam vsetko
zobrazene spravne a udaje z formularou su spravne ulozewne do db v
LATIN2... 

No dobre nechajme to tak :) Dufam ze tento postup niekomu pomoze - inac by
fakt nebolo zle spisat podobny dokument a spristupnit ho ... Kazdy mame
nejake skusenosti a urcite by to pomohlo ludom ktori s PostgreSQL zacinaju
(ops prave som si uvedomil ze toto je mailinglist o FreeBSD tak sa
ospravedlnujem).

Juraj Chlebec
--
                  /-------------------------------\
    University of Agriculture          Voice: (0421) 087 / 6508 195(813)
        Nitra, Slovakia                          7.30 - 16.00   
    ____ __  _ _    ____ __  _                 havran at mailbox.sk
   (_ || ||\ || |  (_ || || |_       http://pefstud.uniag.sk/~chlebec/
   __)||_||_|||_|  __)| | |_|_             Commodore 64 is alive !
       W E B  D E S I G N
                  \-------------------------------/




More information about the Users-l mailing list