Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z polskimi znakami przy imporcie
Forum PHP.pl > Forum > Bazy danych
webriddles
Witam, mam taki problem. Padła mi baza danych i próbuję ją odzyskać robiąc backup. Niestety kopia zapasowa (którą dostałem od hostingodawcy) nie zawiera polskich znaków tylko krzaczki. Bawiłem się w ustawianie kodowania itd. i nic nie pomaga. Czy jest jakiś sposób żeby to zadziało i żebym miał polskie znaki?
thek
Ustawienie kodowania podczas importu tyczy się nie kodowania bazy danych, ale kodowania samego pliku tekstowego. Zobacz czy plik masz kodowany jako utf-8 czy latin-2 i wybierz dopiero wtedy odpowiednie.
webriddles
Plik jest kodowany w utf8, wszystko inne też mam ustawione w takim kodowaniu. Problem w tym, że w samym pliku też są krzaczki.
krzysztof_kf
w jakim sensie krzaczki spróbuj przekonwertować programem gżegżółką
thek
W samym pliku mogą być krzaczki jeśli go otworzysz. Po imporcie jednak i odczycie mogą być już normalne. Sam to przerabiałem gdy mieszane miałem kodowania plików tabel(niektore tabele w kilku plikach, bo takie ogromne, że musiałem je porcjować). Pewne w utf-8 bez bom (import jako utf-8), inne były jako ANSI (import jako latin-2 lub latin-1) i po imporcie było cacy. Tak więc nie sugeruj się aż tak tym co widzisz gdy otwierasz plik jakimś edytorem, tylko po otwarciu nim sprawdź kodowanie wewnętrzne pliku i użyj go jako opcji kodowania importu. U mnie zawsze wtedy import przebiegał prawidłowo.
webriddles
Dalej nic... W edytorze pokazuje, że plik jest kodowany utf-8, w bazie przy imporcie też ustawiam na utf-8 i nic. Dodam, że chodzi mi tu o plik *.sql, kopie zapasową bazy, która mi się sypnęła.
krzysztof_kf
a czytałeś to co thek napisał przy imporcie możesz mieć okej pokaż owe krzaczki .
webriddles
"bra3 udzia3" przykładowe wyrazy, czasem jeszcze zamiast "3" jako polskiego znaku, jest znak zapytania.

@krzysztof_kf Tak czytałem jego post, i próbowałem jego metody. Dalej to nie pomaga. W pliku mam kodowanie utf-8, przy imporcie też takie ustawiłem, nic. Zmieniałem kodowanie na latin2, też nic z latin1, to samo.
krzysztof_kf
A jak jest zapisywana przy dodawaniu kolejnej treści do bazy danych też krzaczy ? dużą masz bazę danych ?
thek
Jeśli masz już znaki zapytania to najprawdopodobniej kopia jakiej używasz została "nadpisana". Musiałeś otworzyć kopię kiedyś i zapisać z niewłaściwym kodowaniem. Jeśli dostałeś tę kopię wprost od hostingu to skopali oni sprawę. Jeśli to Ty zrobiłeś mieszany zapis bez sprawdzania kodowania - nie da się nic zrobić poza poprawianiem źle skonwertowanych liter na poziomie pliku sql.
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.