Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przenosiny bazy między serwerami - problem
Forum PHP.pl > Forum > Bazy danych > MySQL
masakra
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?
Avatarus
mam dokładnie ten sam problem.
Zrzut masz pewnie z Mysql Administratora, zgadłem?

Jeśli ktoś wie jak rozwiązać ten problem to prosimy i pomoc.

Pozdrawiam
osiris
Witam,

jedyne co musisz zrobic to ustawic kodowanie polaczenia z serwer baz danych na takie w jakim masz zapisany zrzut bazy danych. Mozna to zrobic na dwa sposoby, albo wywolac klienta mysql z odpowiednimi opcjami, albo na poczatku pliku ze zrzutem bazy dodac SET NAMES 'kodowanie';

Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.