Koniec problemów z kodowaniem bazy danych !!! |
Autor |
Wiadomość |
Przemo
Pomógł: 210 razy Posty: 3148
|
Wysłany: 10-11-2006, 13:31 Koniec problemów z kodowaniem bazy danych !!!
|
|
|
Napisałem fajnego moda, który służy do zmiany kodowania bazy danych poprzez forum Czyli nie musimy się babrać w bazie danych. Wystarczy skopiować do forum jeden plik, wybrać kodowanie i chwilkę poczekać
Mod współpracuje tylko z wersją wyzsza od 1.12.4
Testowałem go na tym forum, przekonwertował w 1,5 godz.
Konwerter po prostu przelatuje przez wszystkie pola tekstowe we wszystkich tabelach i jeśli wykryje podane wejściowe kodowanie zmienia zawartość wpisu na podane kodowanie wyjściowe.
Na razie obsługuje formaty:
iso-8859-2
windows-1250
utf-8
ascii-iso-8859-2
ascii-windows-1250
Jeżeli ktoś ma jeszcze inne kodowanie bazy to musi zebrać zestaw polskich znaków w tym kodowaniu i w odpowiedniej kolejności wstawić je do jakiegoś klucza w tablicy $charset
Jak na twoim forum polskie znaki są wyświetlane nieprawidłowo to ten skrypt możesz użyć tylko wtedy jeśli nowo pisane posty mają już poprawne kodowanie !
Aby nowe posty miały poprawne kodowanie należy zmienić kodowanie wszystkich pól w tabelach które mają podane jakieś kodowanie (są to pola tekstowe) na początek można testować na samych treściach postów (ale po każdej zmianie trzeba napisać nowy post) w bazie tabela phpbb_posts_text i pole post_text jeżeli nie da sie zmienić nalezy napisać do admina! Forum ma kodowanie iso-8859-2 co odpowiada w bazie polom z kodowaniem latin2_general_ci
Jak ktoś przekonwertował poprawnie baze niech tu napisze.
Jak ktoś w bazie danych (nie na forum) ma zamiast polskich znaków znaki zapytania ? to niestety nic już nie zrobi, za późno.
Jak ktoś przekonwertuje baze i kodowanie nie będzie prawidłowe niech wrzuci kopię bazy danych bo inaczej z tą bazą może się już nic nie zrobić.
Plik z załącznika rozpakowujemy i wrzucamy do katalogu /scripts/ po czym na niego wchodzimy, wybieramy kodowanie i startujemy, na końcu jeżeli wynik jest pozytywny trzeba odbudować search.
Skrypt jest przeznaczony dla osób z podstawową wiedzą na temat technologi www oraz kodowania znaków.
Można to użyć w sytuacji gdy kiedyś mieliśmy problem z kodowaniem lecz nie robiliśmy nic a nowonapisane tematy miały już poprawne kodowanie. Skrypt przekonwertuje tylko dane, które są w innym (wybranym) kodowaniu.
Niestety problemy z kodowaniem baz danych są okropne i trzeba mnóstwo cierpliwości jak ktoś się na tym dobrze nie zna.
Mile widziana wypowiedź osoby która zna się na tym dobrze bo ja mam tylko podstawową wiedzę na ten temat.
convert.zip
|
Pobierz Plik ściągnięto 7215 raz(y) 4,65 KB |
|
Ostatnio zmieniony przez Polaczek 20-08-2010, 21:42, w całości zmieniany 9 razy |
|
|
|
|
Gadatliwa Kasia
|
|
|
|
rosolek
Pomógł: 2 razy Posty: 25
|
Wysłany: 10-11-2006, 16:08
|
|
|
przydalaby mi sie konwersja z latin2 pomoze mi ktos |
|
|
|
|
Przemo
Pomógł: 210 razy Posty: 3148
|
Wysłany: 10-11-2006, 16:43
|
|
|
rosolek, latin2 to jest nasze standartowe ISO 8859-2 tylko komuś się nudziło i musiał wymyslić na to różne nazwy Inne określenia w bazie danych też mają swoje odpowiedniki Latin to jest takie samo okreslenie jak: cyrylica, środkowoeuropejski, chiński itp.itd |
|
|
|
|
rosolek
Pomógł: 2 razy Posty: 25
|
Wysłany: 10-11-2006, 16:48
|
|
|
aaa... Dzieki Przemo lama ze mnie |
|
|
|
|
pieczywo
Posty: 12
|
Wysłany: 10-11-2006, 23:07
|
|
|
u mnie jest tak:
Â? - ą
Â? - ś
Â? - ł
?? - ó
?? - ć
w ShoutBox jest po jednym "?" dla wszystkich polskich
podpowiecie mi co to za kodowanie? probowalem róznymi, ale bez zmian |
|
|
|
|
Widmo
Pomógł: 180 razy Posty: 2435
|
Wysłany: 11-11-2006, 06:55
|
|
|
nie masz pliku wgranego ktory pokazuje jakie rozszerzenia plikow masz na FTP.
Przemo - swietna robota !!!
[ Dodano: 11-11-2006, 07:00 ]
a gdzie wgrales ten plik convert.php ? |
_________________ Potrzebujesz pomocy? |
|
|
|
|
DeJk_SEBA
Pomógł: 9 razy Posty: 93
|
Wysłany: 11-11-2006, 10:28
|
|
|
ej no tak ale jak ja patrzę w bazie to mam normalnie zamiast polskich znaków "?" czy na to też zadziała?
ps. kfak pewnie wgrał do głównego katalogu hehe ja też tak miałem a przecież pisze że do /scripts/ |
|
|
|
|
Raziel
Posty: 31
|
Wysłany: 11-11-2006, 11:23
|
|
|
Co to za kodowanie:
ÂŻ - Ż
Âż - ż
ĂŞ - ę
Âą - ą
Âł - ł
Âś - ś
ÂŚ - Ś
ĂŚ - ć
PS.
To tylko kilka Polskich znaków... reszty nie mogę znaleść, jeśli ktoś mógłby mi pomóc [tzn. rozszyfrować co to za kodowanie i podać reszte znaków] to byłoby wyśmienicię. Poza tym, jak poprawnie stworzyć tą nową tablicę aby bez błędów podmienilo znaki. |
|
|
|
|
zuraw2006
Pomógł: 94 razy Posty: 697
|
Wysłany: 11-11-2006, 12:12
|
|
|
Przemo, ja niestety mam problem gdy uruchamiam skrypt pisze:
Cytat: | Błąd Ogólny
Nie jesteś administratorem. |
Oczywiście jestem adminem i jestem zalogowany |
|
|
|
|
pieczywo
Posty: 12
|
Wysłany: 11-11-2006, 12:20
|
|
|
mi na operze tez do wyskakuje, sprobuj IE... |
|
|
|
|
zuraw2006
Pomógł: 94 razy Posty: 697
|
Wysłany: 11-11-2006, 12:34
|
|
|
pieczywo napisał/a: | sprobuj IE... |
to samo |
|
|
|
|
pieczywo
Posty: 12
|
Wysłany: 11-11-2006, 13:01
|
|
|
wejdz na forum, zaloguj sie i zahacz zeby Cie zapamietalo. Teraz od razu wejdz do conventera... u mnie zadzialalo |
|
|
|
|
zuraw2006
Pomógł: 94 razy Posty: 697
|
Wysłany: 11-11-2006, 13:06
|
|
|
pieczywo, nic z tego dalej to samo |
|
|
|
|
Raziel
Posty: 31
|
Wysłany: 11-11-2006, 14:51
|
|
|
W sieci na temat znaków znajdujących się aktualnie w mojej bazie danych znalazłem cos takiego:
Cytat: | Mieliście kiedyś problem z kodowaniem i dostaliście: Âą, ÂĄ, ĂŚ, Ă~F, ĂŞ, Ă~J, Âł, ÂŁ, Ăą, Ă~Q, Ăł, Ă~S, Âś, ÂŚ, Âź, ÂŹ, Âż, ÂŻ, §, ° lub š zamiast prawdziwych pliterek? Jest to coś pomiędzy utf8 i iso-8859-2 |
Kod: | s/\Â\±/±/g;
s/\Â\ˇ/ˇ/g;
s/\Ă\¦/ć/g;
s/\Ă\†/Ć/g;
s/\Ă\Ş/ę/g;
s/\Ă\Š/Ę/g;
s/\Â\ł/ł/g;
s/\Â\Ł/Ł/g;
s/\Ă\±/ń/g;
s/\Ă\‘/Ń/g;
s/\Ă\ł/ó/g;
s/\Ă\“/Ó/g;
s/\Â\¶/¶/g;
s/\Â\¦/¦/g;
s/\Â\Ľ/Ľ/g;
s/\Â\¬/¬/g;
s/\Â\ż/ż/g;
s/\Â\Ż/Ż/g;
s/\Â\§/§/g;
s/\Â\°/°/g;
# to moze byc nie tak
s/\Â\ą/±/g; |
I co zrobić z takim fantem? Czy mod stworzony przez Przema coś na to poradzi? |
|
|
|
|
Gadatliwa Kasia
|
|
|
|
Widmo
Pomógł: 180 razy Posty: 2435
|
Wysłany: 11-11-2006, 17:29
|
|
|
dla wszystkich ktorym wyskakuje ze nie sa adminami:
wytnijcie z forum swoja sesje:
Kod: | sid=810f84f19697da22af7206bc85819b6c |
wejdzcie do convert.php i doklejcie zeby wygladalo tak:
Kod: | convert.php?sid=810f84f19697da22af7206bc85819b6c |
|
_________________ Potrzebujesz pomocy? |
|
|
|
|
|