Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przenoszenie zawartości bazy bez utraty znaków
Forum PHP.pl > Forum > Bazy danych > MySQL
siewca
Witam

Wiem, że podobne tematy były, wiele wątków przejrzałem jednak nie znalazłem podpowiedzi która rozwiązuje mój problem.
Mianowicie mam program na serwerze z którego korzystam chcę przenieść zawartość bazy danych do zaktualizowanego o nową opcję programu, który jest na innym serwerze, jednak przed dodaniem muszę wstawić w jakimś edytorze SQL dodatkową tabelę oraz rekordy.

Wszystkie kodowania w obydwóch bazach ustawione są na UTF8, kodowania po stronie php również.

Robię tak:
1. Robię eksport ze starego programu do pliku SQL
2. Otwieram plik SQL w programem Universal SQL Editor, dodaję sobie potrzebną tabelę oraz rekord metodą "znajdź i zamień"
3. Zapisuję plik SQL wybierając kodowanie UTF8
4. Robię import do nowego programu
5. Import robi się bez błędów, dane wyświetlają się w programie, jednak są krzaki.

Może wina leży po stronie edytora Universal SQL Editor?

Proszę o pomoc
Mchl
Bardzo możliwe. Sprawdź czy ten program zachowuje odpowiednie kodowanie.

A dlaczego nie możesz tej nowej tabeli dodać osobno, tudzież przez SQL na działającym serwerze?
siewca
Mogę dodać nową tabelę, nie ma problemu ale jeśli tabela ma 1800 wierszy, musiałbym w każdym wierszu dodać rekord.
Mchl
I nie idzie tego zrobić SQLem? Jeśli daje się przez find/replace, to przez SQL też powinno się dać.

W każdym razie, na początek spróbuj importu bez przepuszczania przez ten program i zobacz czy nadal będą krzaki. W ten sposób potwierdzimy/wyeliminujemy, że przyczyną jest ten edytor.
siewca
To nie wina programu. Zrobiłem tak jak napisałeś, bez otwierania w nim pliku. Nadal są krzaczki. Zupełnie tego nie rozumiem, w obydwóch bazach wszędzie jest UTF8, jednak są to dwa różne serwery.
Mchl
No to do sprawdzenia masz teraz w jaki sposób robione są eksport i import
siewca
Eksport robię bezpośrednio do pliku SQL z PhpMyAdmin
Import również w PhpMyAdmin z wyborem UTF8
erix
A jakie masz parametry połączenia?
siewca
Cytat(erix @ 16.04.2010, 14:21:41 ) *
A jakie masz parametry połączenia?

tzn?
erix
Masz na stronie początkowej PMA takie pole, jak zestaw znaków dla połączenia.

Poza tym, jeśli masz możliwość, importuj/eksportuj przez konsolę.
siewca
Dla połączenia na obydwóch serwerach mam utf8_general_ci

Możliwe, że to wina serwera bazodanowego?
W PhpMyAdminie na obydwóch serwerach w podglądzie zawartości wszystko jest identycznie, tzn. są takie same znaki zamiast polskich czcionek (np w tabeli województwa: DolnoÅ›lÄ…skie). Jednak na stronie wyświetlane prawidłowo są tylko na jednym serwerze (tym pierwszym, z którego przenoszę program).
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.