Mam problem z przeniesieniem bazy danych między serwerami bo ciągle gubi mi polskie litery. Nie do końca wiem jak sobie poradzić mimo przejrzenia około 15-20 stron w temacie migracji.
Moze powinienem zadac wlasnie konkretne pytanie:
Na moim starym serwerze mialem (sprawdzajac przez phpMyAdmin):
MySQL charset: ISO 8859-2 Central European (latin2)
MySQL connection collation: latin2_general_ci
Administrator tego serwera wyeksportowal mi bazy (bo mam ich calkiem sporo).
Plik wynikowy jest zakodowany w UTF8 (sprawdzone w Gżegżółce XP) natomiast w środku zapytania mają coś takiego:
CREATE TABLE `[blabla]` (
[blabla]
) ENGINE=MyISAM DEFAULT CHARSET=latin2;
Moja strona jest cała napisana i kodowana w ISO 8859-2 (latin2).
Na nowym serwerze mam (sprawdzając przez phpMyAdmin):
MySQL charset: UTF-8 Unicode (utf8) [bez możliwości zmiany]
MySQL connection collation: latin2_general_ci [z możliwością zmiany]
I teraz chciałbym całość danych zaimportować do bazy z konsoli (a nie przez phpMyAdmin - bo bazy mam calkiem spore).
Przy imporcie dostaje krzaki w phpMyAdmin i to samo na stronie. Probowalem konwertowac plik z backupem do UTF8, do ISO-8859-2. Probowalem tez uzywac --default-character-set=utf8 i =latin2. Niestety ciagle dostawalem krzaki.
Moje pytania:
- czy powinienem zmieniac kodowanie pliku z backupem bazy (na jakie)?
- czy powinienem zmieniac "MySQL connection collation" w nowej bazie (na jakie)?
- czy przy imporcie powinienem uzyc parametru "--default-character-set=XXX" (jakiego)?
Czyli ogolnie - co powienienem zrobic zeby baza zaimportowala mi sie poprawnie i strona dzialala jak trzeba?