To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

Modyfikacje gotowe - Koniec problemów z kodowaniem bazy danych !!!

Przemo - 10-11-2006, 13:31
Temat postu: 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.

rosolek - 10-11-2006, 16:08

przydalaby mi sie konwersja z latin2 pomoze mi ktos :?: :roll:
Przemo - 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 - 10-11-2006, 16:48

aaa... Dzieki Przemo :) lama ze mnie :oops:
pieczywo - 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 - 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 ?

DeJk_SEBA - 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 :D hehe ja też tak miałem a przecież pisze że do /scripts/

Raziel - 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 - 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 - 11-11-2006, 12:20

mi na operze tez do wyskakuje, sprobuj IE...
zuraw2006 - 11-11-2006, 12:34

pieczywo napisał/a:
sprobuj IE...


to samo :-(

pieczywo - 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 - 11-11-2006, 13:06

pieczywo, nic z tego :-( dalej to samo :-(
Raziel - 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?

Widmo - 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



Powered by phpBB modified by Przemo © 2003 phpBB Group