MySql 4.0 vs. 4.1
Dan Lukes
dan at obluda.cz
Mon Mar 12 11:52:37 CET 2007
Lubomir Host napsal/wrote, On 03/12/07 10:11:
>> prosim, neexistuje nejake nastavenie v nastaveni serveru/klienta
>> MySql 4.1, aby sa spravali podobne (aspon navonok), ako MySql 4.0?
> Toto velmi zly pristup k rieseniu problemov. Podla mna sa viacej oplati
> investovat cas do nastudovania, ako MySQL pracuje s charsetmi a co to
Ja nebudu az tak radikalni. Pokud existuje nejaky dobry duvod, proc
nepodporovanou verzi zachovat, tak existuje. Side-efektem ale budou
vyssi (mozna podstatne vyssi) naroky na udrzbu, takze jestli je to jen z
duvodu "ze je to mene prace", tak to asi neni ...
Nejvetsim problemem pri migraci 4.x->5.x je - zjistit, v jakem kodovani
jsou data ulozena. Uplna tragedie pak je, pokud jsou v jednom radku
ruzne kodovane sloupce. Pokud ale vime, jake je kodovani, pak uz jde jen
o dump databaze, upgrade, a import zpet. U "importu zpet" je treba
spravne oznamit v jakem kodovani data jsou (aby se pri ukladani do
tabulek s jinym kodovanim ulozila spravne). Pokdu ej databaze prelozen
atak, ze defaultni kodovani je shodne s tim pouzitym, tak tenhle problem
odpada - aj bych al easi zustal (na strane databaze) u UTF8, protoze
"import pri upgrade" je jednorazova akce a tak me tech par vterin an
udani kodovani nezabije.
> Najlepsie ale je poslat to v takomto tvare:
>
> "/*!40101 SET NAMES cp1250 */"
> "/*!40101 SET COLLATION_CONNECTION=cp1250_general_ci */"
>
> Zial, velmi vela PHP koderov nechape, co to ten charset je a nevedia to
> spravne pouzivat. A pritom navodov, ako na to je na webe plno. :-/
>
> Az mas zaujem, mozeme sa dohodnut na nejakych konzultaciach a pripadne
> naplanovat prechod na MySQL 5.0 alebo 5.1
;-) jestli je to zpusob, jak nabidnout placenou konzultaci, tak dobry ;-)
Ale jinak by to snad melo byt jeste jednodussi, ne ? Pokud si zajistim,
ze cp1250_general_ci je defaultni nastaveni klienta (a to snad lze
zajistit konfiguracne, a jestli ne, tak by to melo jit rict pri
prekladu) tak by vse melo fungovat aniz se do kodu PHP bude muset
jakkoliv zasahovat.
Na druhou stranu, najit vsechny vyskyty _conect() lze grepem pomerne
snadno, a nebyva jich mnoho, takze i v pripade, ze zasah nutny je, neni
to tak slozite.
Tedy - pokud nam staci "stejne mizerna funkcnost" jako dosud. Na cteni
je "staticke nastaveni kodovani" mozna dostacujici - nakonec - je to
server, ktery data oznaci a posle klientovi. Ale pokdu am take nejaka
data prichazeji (formulare), pak je to slozitejsi - ma-li to byt
korektni. Tam je treba zohlednit, v jakem kodovani nam klient data
poslal. A to nemusi byt stale totez ...
Dan
--
Dan Lukes SISAL MFF UK
AKA: dan at obluda.cz, dan at freebsd.cz,dan at kolej.mff.cuni.cz
More information about the Users-l
mailing list