Posted By: medved (A~z na v~eky Mikov~ce.) on 'CZdatabases'
Title: Re: Dalsi problem se Sybase
Date: Tue Jul 13 12:52:09 1999
> > sybase_connect("SYBASE","tonda","heslo");
> No jo, kdo to mohl tusit, ze to nechce "IP:PORT", ale to
> potapane jmeno ;-)
>
> A posledni vec, jak se zbavim tohodle:
>
> Warning: Sybase message: Character set conversion is not available between
> client character set 'iso_1' and server character set 'iso88592'.
> (severity 11) in /var/www/najdito/sybase.php3 on line 6
>
> Rozumim tomu, co to je, rozumim proc to dela, ale nevim jak se toho zbavit,
> aniz bych na serveru zlikvidloval iso-2 :-(
Jedna se o informativni hlasku, ze klient se pripojuje s nekompatibilnim
charsetem. Zbavit se toho muzes nasledovne:
1) dat na server iso_1 - ale to nechces (stejne chaersety - nedochazi k
zadnym konverzim)
2) dat na klienta iso88592 (stejny charset - nedochazi ke konverzim)
3) dat na klienta charset kompatibilni s iso88592 - napriklad cp1250 nebo
cp852 - POZOR tady uz bude dochazek ke konverzim a pokud tam prijde nejaky
nezkonvertovatelny znak (tj. neco co neni pismenem vi iso88592 nebo
cp1250(cp852), tak to hodi chybu a nahradi ten znak otaznikem.
Nastaveni klientskeho charsetu lze udelat nasledujicimi zpusoby:
a) specifikujes charset a eventuelne i jazyk pri pripojovani
b) specifikujes tzv. locale pri pripojuvani (neco jako 'cze', 'eng'...)
c) nastavis default na serveru
U db serveru je v $SYBASE/locales soiubor locales.dat, kde je pro kazdou
platformu (OS) vycet prekladu onbech 'locale' na charset a jazyk a je tam i
defaultni nastaveni pro danou platformu.
Priklad:
[NT]
locale = cze, us_english, cp1250
locale = default, us_english, iso88592
Pro pripojeni z NT se defaulktne pouziva iso88592, v pripade pripojeni s
locale = cze se pouzije cp1250.
> Ondra .
Bye
Medved
Si vis pacem, para bellum.