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