![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam
Meczę się nad skryptem do zrzucania bazy. Wszystko pięknie jest zapisywane, problem powstaje tylko podczas wrzucania wynikowego skryptu. Polskie znaki zostają zamienione na znaki zapytania, a w pliku wynikowym ze skryptu są normalnie zapisane. Jak wrzucę wynikowy plik do Notepad++ to na dole pokazuje mi się kodowanie ANSI as UTF-8 (takie ma być) ale także UNIX, a powinno Dos/Windows. Jak można przerobić ten plik, aby miał ten parametr UNIX na Dos\Windows. Zauważyłem, że w niektórych miejscach (insertach) jest np taki zapis: Treść\r\nDalsza treść. Domyślam się, że może to być błąd. Szukając rozwiązania zastosowałem coś takiego:
Niestety dalej źle wrzuca. Porównując to co ja otrzymałem, a to co wypluwa mi np Navicat Lite to tam gdzie są z Navi \r\n to też w moim są. Więc szukam pomocy... ![]() Na początku skryptu do zrzucania bazy mam: Teraz zobaczyłem, że mój plik z klasą też jest UNIX z kodowaniem ANSI as UTF-8 , a plik z przykładem jest ANSI, ale już z Dos\Windows , może w tym siedzi problem? Wszystkie są w kodowaniu ANSI as UTF-8, więc nie tutaj jest problem. Ten post edytował IceManSpy 27.11.2011, 16:44:18 -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Swego czasu poświęciłem kilka tygodni na znalezienie skryptu do backupu mysql.
Przewaliłem wszystko co było dostępne w sieci. Testowałem przy pomocy bazy z czystego formum phpbb z jednym tylko postem zawierającym troche polskich znaków. Wynik: Żaden skrypt nie ptorafi stworzyć backupu, który będzie działał po przywróceniu (nie tylko ze względu na kodowanie). Wyjątkiem jest phpMyAdmin. Ten post edytował wNogachSpisz 27.11.2011, 16:41:14 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ten skrypt robi to całkiem nie źle:
http://www.phpclasses.org/package/3498-PHP...ackup-file.html Brakuje mu jedynie kluczy obcych, które już sam dopisałem. Jednak aby wypuścić to do obiegu potrzebuje sprawdzić, czy dobrze działa na mojej bazie. A problemem jest zaimportowanie tego pliku. -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Po czym stwierdzasz, że nie działa? Jeśli miałeś ustawione na InnoDB to prawda nie działa. Dlaczego? Bo nie zapisuje połączeń między tabelami. Dlatego jak go rozbudowałem o właśnie klucze obce.
Problem rozwiązałem, kodowanie bazy było ustawione na utf8_bin, zmieniłem na utf8_general_ci, takie również wywołuje w skrypcie i śmiga jak należy. Jak uporządkuje kod, to się nim podzielę do testów i krytyki. Ten post edytował IceManSpy 27.11.2011, 16:58:35 -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Po czym stwierdzasz, że nie działa? Jeśli miałeś ustawione na InnoDB to prawda nie działa. Dlaczego? Bo nie zapisuje połączeń między tabelami. Dlatego jak go rozbudowałem o właśnie klucze obce. Zadnych kombinacji, jest phpmyadmin, jego moduł backupu ma kilka tysięcy linii, co rusz wychodzą nowe wersje, po cholere wynajdywać koło na nowo? Ten post edytował wNogachSpisz 27.11.2011, 17:04:26 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A jeśli ktoś nie ma phpMyAdmin? Nie musisz mieć phpMyAdmin, aby używać MySQL.
Z resztą skrypt już napisałem. Kto będzie chciał, ten go użyje. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 16:29 |