Pomagajte ako znate (iskusan MySQL administrator po mogućstvu)....
Dakle, u lokalu na Windowsu imam MySQL verziju 4.1.14, a na serveru na Linuxu (Debian) imam MySQL verziju 4.0.24 i phpMyAdmin 2.6.2
1. Uradim export baze (100MB velika) na Windows-u iz DOS command prompt-a sa MySQL komandom
mysqldump -h localhost -u username -p moja_baza > export.sql
2. Otvorim taj fajl u UltraEdit-u i izbacim napolje sve ono sto mi moze predstavljati problem u kompatibilnosti sa importom na nižu verziju, a to je par ključnih reči na kraju svakog CREATE TABLE gde se postavlja COLLATION... Inače baza sadrži YU znake u kodingu ISO-8859-2 i to tako da su naši znaci zapisani ovako:
(ž = ¾) (š = ¹) (Ž = ®) (Š = ©) (Č = È) (č = è),...
U UltraEdit-u napravim konverziju DOS->Unix tip fajla, LF podesim za Linux, snimim kao UTF-8 NO BOM (vidim regularno sva naša slova kao ove simbole koje sam napisao)
3. Prenesem zipovan fajl sa FTP-om na Linux server i tamo ga odzipujem
4. Napravim import baze iz tog prenesenog fajla
mysql -h localhost -u username -p moja_baza < export.sql
PROBLEM!!!
Naša slova su potpuno pogrešno prenesena i kao da sam imao Unicode UTF-16, tačnije od svakog mog YU slova su nastala 2 znaka (16 bita)...
(Ž = ÂŽ) (Č = Ă) (Š =Š)
Taj fajl na Linuxu je drugačiji definitivno od onog na Windows-u. Kako da ga napravim jednakim na Linuxu odnosno mogu li ga nekako prethodno obraditi na Windowsu da je validan i na Linuxu (identičan kao što ga vidim na Windowsu jer to su validni podaci)?
Ima li neki dobar program na Linuxu za Search&Replace. Preko Putty-ja se konektujem na Linux server i startovao sam bio "mc" ali i on kaže da mu je prevelik fajl za editovanje - oko 80MB...
Import preko web forme u phpMyAdminu ne dolazi u obzir posto nema šanse da bazu od 100MB prenesem tako - trebao bi mi ceo dan da seckam deo po deo jer ne može tekst polje da primi toliko teksta (IE puca a Firefox se drži malo bolje)...