PDA

Zobacz pełną wersję : Przenoszenie bazy danych - problem.



bodzio16
22-08-2011, 10:05
Sytuacja w moim wypadku: na stronie zamiast PL liter pojawia się "?".

Moje bazy:

zródło:
System porównań dla połączenia MySQL: utf8_unicode_ci
Kodowanie napisów dla MySQL: UTF-8 Unicode (utf8)
Motedoa porównywania napisów (tabel): latin1_general_ci

cel:
System porównań dla połączenia MySQL: utf8_unicode_ci
Kodowanie napisów dla MySQL: UTF-8 Unicode (utf8)
Motedoa porównywania napisów (tabel): latin2_general_ci

Wykonałem export i import poprzez phpMyAdmin - w bazie znaki są identyczne, mam na myśli to, jak ja to widzę w polach przez phpMyAdmina.

Kombinowalem tez export/import modulem DirectAdmin.

Dodałem też SET NAMES w zapytaniu do bazy - bez rezultatu.

Mogę prosić kogoś, kto już z tym walczył o jakieś wskazówki? Co trzeba zmienić?

pyziak
22-08-2011, 10:11
Metoda porównywania napisów powinna być : utf8_general_ci
i ustawiasz to w opcjach w phpMyAdmin

bodzio16
22-08-2011, 11:06
Nic nie pomogło. Nadal na stronie są "?" zamiast PL liter.

zwiastun
22-08-2011, 11:22
Gdy wykonałeś eksport, to najprawdopodobniej Twoja baza została zapisana w latin 1. A jeśli tak, to najpierw trzeba ją przekonwertować np. do latin2.
Inny możliwy powód - pozostały Ci w tabelach deklaracje porównywania napisów. Sprawdź plik eksportu, wyszukaj ewentualnie ciąg latin1 i - jeśli jest to w deklaracjach pól w tabelach, możesz spokojnie usnąć frazę deklarująca metodę porównywania napisów

pyziak
22-08-2011, 11:30
to jest kwestia kodowania 100 %, jeżeli zmieniłeś globalnie to i tak jak miałeś wcześniej kodowaną tabelę w np: latin1_general_ci to dalej jest takie same kodowanie trzeba w każdej żądanej tabeli zmienić kodowanie (np: wyświetlasz tabelę jos_content przechodzisz do zakładki Operacje i pozycji Metoda porównywania napisów: wybierasz utf8_general_ci) , albo (nie wiem strzelam) wgrać jeszcze raz bazę zaznaczając w zakładce import odpowiednie kodowanie .

ps. poszukaj na forum z tym kodowaniem to było już masę razy

//cześć @Zwiastun, zobacz aż 8 min miałem otwarty post :)

bodzio16
22-08-2011, 11:36
@pyziak: niestety nie działa, metoda porównywania jest ua UTF8, plik exportu robie ze zgodnosiac MYSQL40

@zwiastun: nie mam dodanycn deklaracji w sql, tylko to, co ustawione w phpMyAdminie. Rozumiem, ze konwersja z latin1 na latin2 za pomoca konwertera takiego jak u toska..., Ale moja baza ma 60 mega... - zmienie gzegzolka, importuje, zobaczymy co wyjdzie.

DODANE:

Gżegżółka rozpoznaje kodowanie mojego dumpa jako UTF8 - daje to cos wiecej.

Czytalem juz chyba z 20 tematow i nadal nie moge sobie poradzic - kwestia jest taka, ze jak otwieram baze w formie przegladaj jakis tam rekord u źródła i celu to w tabelach jest zapisane tak samo 9pl litery w formie krzaczków, ale zawsze na stronie sie wyswietlaly...) - tylko na stronie się nie wyświetla...

zwiastun
22-08-2011, 16:37
A do czego ma ci posłużyć ta zgodność? Zrób zrzut jakiegoś jednego elementu i obadaj dokładnie, z czym masz do czynienia.
Przeszukaj posty @neo_fox - swego czasu odpowiadał, jak wykorzystać iconv do zmiany kodowania, może się przyda.

bodzio16
22-08-2011, 17:12
Kodowanie moge zmienic programem Gzegzolka w calym dumpie. Nie zaleznie od tego jakie kodowanie wgrywam ciagle jest ten sam problem. Poszukuje kogos, kto poprostu sie na tym zna, bo najwyrazniej gdzies tkwi moj blad, ale nie potrafie go odszukac... Wszystkie porady z roznych zrodel nic nie daja.

zwiastun
22-08-2011, 17:18
To zostaje Ci dział zleceń