Skocz do zawartości


- - - - -

phpBB 3 --> IPB 2.3.6


16 odpowiedzi w tym temacie

#1 Gość

  • Użytkownik
  • 7 postów
  • Wersja:IP.Board 2.3.x

Napisano 09 grudzień 2008 - 16:28

Jak patrzę po supportach IPB to problem z kodowaniem przy konwersji to już chyba standard :) Niestety trafił się i mi.

Mam phpBB 3, które było updatowane z phpBB 2 kilka miesięcy temu. Uznałem, że czas zainwestować, bo forum się rozrosło i wybrałem IPB.

Teraz mam problem z konwersją z phpBB 3.

Baza phpBB 3 jest chyba w UTF-8 - tak się wyświetla w phpMyAdminie. Widzę polską czcionkę jak przeglądam pola. Tabele są podpisane jako utf8_bin i tak samo poustawiałem instalację IPB i metodę porównywania napisów. Niby ok. Uruchamiam konwerter. Tam nie ma nic o formacie znaków. Odpalam więc jak jest i po konwersji patrzę do bazy: zamiast polskich znaków tylko "?". Poczytałem po sieci i wiem już, że jeśli mam "?" w bazie to po zawodach - żeby chociaż krzaki były to byłby już postęp, bo to się da odkręcić, odpowiednio łącząc się z bazą...

Jak wykonać konwersję, żeby uzyskać w bazie cokolwiek innego niż "?"? Co spróbować pozmieniać? Proszę o pomoc.

PS: Wersja MySQL 5.0.45 jeśli to ma znaczenie, a php wersja to 5.2.5 - to gotowy pakiet WebServ zainstalowany lokalnie, bo na prawdziwym serwerze taka konwersja byłaby za trudna do wykonania. Bawiłem się też VertrigoServ, ale efekt ten sam.

EDIT: Czy przed konwersją trzeba instalować spolszczenie? Może tu robię błąd (bo nie instaluję), ale jak piszę posty, to polskie znaki są, a nawet chińskie :)

Użytkownik Gość edytował ten post 09 grudzień 2008 - 16:42


#2 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49402 postów
  • Wersja:IP.Board 3.2.3

Napisano 09 grudzień 2008 - 18:44

Witaj,
przed konwersją zrób to, co napisałem tutaj: http://forum.invisionize.pl/index.php?s=&a...post&p=8796 i spróbuj ponownie.


Odnośnie edita: to nie ma znaczenia.
intermedia - profesjonalne rozwiązania Invision Power Board

#3 Gość

  • Użytkownik
  • 7 postów
  • Wersja:IP.Board 2.3.x

Napisano 09 grudzień 2008 - 20:22

Wygląda, że chyba poszło - widzę znaki w bazie = 50 procent sukcesu :)

Niestety nie mogę się zalogować na stare dane. Nie mogę też zarejestrować nowego usera, bo pole wpisywania nazwy usera jest niedostępne...

Na forum są krzaczki, ale z tym sobie już chyba poradzę - wydaje mi się, że ponowne wycięcie modyfikacji + ustawienie na utf-8 strony kodowej w ustawieniach forum powinno na to pomóc - wszak bazę mam w UTF-8 (a jak nie - to z tego drugiego tematu wynika, że trzebaby zmienić na iso-8859-2 bez ruszania modyfikacji w plikach).

Proszę o pomoc w kwestii logowania na konto Admina, żeby przeczyścić statystyki - teraz nie mogę wejść w żaden temat.

EDIT: Zapomniałem dodać - hasła też nie przywrócę - maile nie dochodzą, nie mam koncepcji jak się do tego dobrać teraz...

Użytkownik Gość edytował ten post 09 grudzień 2008 - 21:49


#4 Gość

  • Użytkownik
  • 7 postów
  • Wersja:IP.Board 2.3.x

Napisano 10 grudzień 2008 - 02:27

Nie da się wyedytować tego wstydliwego postu powyżej, więc ku przestrodze dla innych konwertujących na przyszłość:

Przyczyna braku możliwości zalogowania u mnie była banalna. W archiwum z konwerterem są dwa katalogi - convert i sources. Convert wrzuciłem, ale już sources nie, bo pomyślałem, że to jakieś dodatkowe pliki źródłowe. Wniosek: nie filozofować ;) Ten drugi katalog jest cholernie ważny, bo w środku jest loginauth/convert. Razem z IPB też dostarczane są pliki tam znajdujące się, ale w starych wersjach i w efekcie: konwerter się nie wywala, ale NIE KONWERTUJE HASEŁ i przez to nie da się logować. Wpadłem na to przypadkowo chcąc sprawdzić, czy w auth.php jest prawidłowa wartość $itoa64, na co zwraca uwagę konwerter.
Teraz czyszczę statystyki, zalogowałem się bez problemu. Modyfikacja musiała zostać - w połączeniu z ISO8859-2 daje mi to polskie znaki.

EDIT: Po czyszczeniu statystyk: wygląda, że wszystko działa :) Dzięki @DawPi :)

Mam jeszcze problem, dwie wątpliwości i jedno zapytanie:

1) Ze wszystkich postów wycięło emotikony. IPB tego nie konwertuje? Posty bez emot wyglądają niekiedy dość dziwacznie... Z tego co widzę w bazie w miejscu emot zostało: <!-- s:lol: --> (dla emoty "lol"). Da się to jakoś przetworzyć? Póki co mam pomysł, aby wykonać sprytne zapytanie na bazie, które w tabeli postów i sygnatur przerobi określony ciąg na inny (w tym przypadku to by było na : lol : (bez spacji), ale może da się to zrobić bez kombinacji tego typu podczas konwersji postów?
2) Przy konwersji wyświetlało mi różne liczby prywatnych wiadomości (po konwersji ich ilość w stosunku do phpBB się zwiększyła). Tak powinno być?
3) Po konwersji baza danych strasznie się upasła - ze 100 MB zrobiło się ponad 200 MB. W phpmyadmin wywaliło, że mam 6MB nieoptymalnych - no to zrobiłem optymalizację i... baza zmniejszyła się do jakichś 150 MB o_0. Tak się może dziać?
4) Pytanie: jak to teraz zgrabnie z localhosta przenieść na sieć. Po wrzuceniu bazy trzebaby coś pozmieniać - zapewne jakiś plik + jakieś wpisy w bazie wskazujące na instalację na localhost. Na co zwrócić uwagę?

Jeszcze raz dzięki za dotychczasową pomoc. Meandry konwersji znaków w MySQL pozostaną dla mnie niezrozumiałe - mam UTF8, forum musi się łączyć przez latino2 i wyświetlać wszystko w ISO8859-2, ale unicode i tak działa - bez sensu, ale ważne, że śmiga. ;)

Użytkownik Gość edytował ten post 10 grudzień 2008 - 03:15


#5 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49402 postów
  • Wersja:IP.Board 3.2.3

Napisano 10 grudzień 2008 - 14:32

Ad 1 - po prostu w phpbb jest inny sposób kodowania emotek. Wystarczy przebudować posty z panelu ACP. :) Pisałem o tym na forum.

Ad 2 - normalne ;-)

Spoko - od tego jest to forum, ale dzięki za wyrazy uznania :)

A odnośnie Twojego błędu, że nie wysłałeś katalogu sources/ - zdarza się! ;)
intermedia - profesjonalne rozwiązania Invision Power Board

#6 Gość

  • Użytkownik
  • 7 postów
  • Wersja:IP.Board 2.3.x

Napisano 10 grudzień 2008 - 15:01

Dziwne - przebudowywałem już posty (w ogóle wykonałem przebudowę wszystkiego z poziomu ACP), ale spróbuję jeszcze raz - może coś nie wyszło? Prawdę mówiąc miałem dodatkowe emoty wrzucone (czyli ponad standard w phpBB), ale brak zarówno tych dodatkowych (to mogę zrozumieć) jak i standardowych. Pobawię się tym w nocy :)

#7 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49402 postów
  • Wersja:IP.Board 3.2.3

Napisano 10 grudzień 2008 - 15:09

Ponieważ w tych z IP.Board być może nie masz odpowiedników tych rozszerzonych.

A jakiekolwiek emoty Ci się pokazują?:)
intermedia - profesjonalne rozwiązania Invision Power Board

#8 Gość

  • Użytkownik
  • 7 postów
  • Wersja:IP.Board 2.3.x

Napisano 11 grudzień 2008 - 04:52

Jak teraz piszę na bieżąco - pojawiają się - jedynie wszystkie stare wyparowały. Mały problem jest też z cytatami - w ramkach tytuł jest taki:
QUOTE ("nick":losowy ciąg 6 znaków)
To co jest kursywą raczej nie powinno się pokazywać?

Zapuszczę jeszcze raz tego naprawiacza postów...

Użytkownik Gość edytował ten post 11 grudzień 2008 - 04:52


#9 Gość

  • Użytkownik
  • 7 postów
  • Wersja:IP.Board 2.3.x

Napisano 11 grudzień 2008 - 21:39

Niestety nie pomogło na temat emotikon - wszystkie z przekonwertowanej bazy są otoczone "<!--" i "-->". Porozglądam się po sieci, czy ktoś się z czymś takim spotkał :) Dzięki za pomoc :)

#10 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49402 postów
  • Wersja:IP.Board 3.2.3

Napisano 12 grudzień 2008 - 13:50

Hym, widocznie tak to było zapisywane w phpBB ;/

No to na pewno w tej sytuacji możesz skorzystać z tego, co tutaj pisał Livo: -zobacz mnie-.
intermedia - profesjonalne rozwiązania Invision Power Board

#11 edi

  • Użytkownik
  • 9 postów
  • Wersja:IP.Board 3.0.4

Napisano 28 kwiecień 2009 - 10:51

Witam,

ponieważ mój problem wydaje się podobny (ale nie taki sam) do tego opisanego powyżej nie zkładałem nowego tematu.

Obecnie posiadam forum phpBB3 (wersja 3.0.4), chciałbym je przenieść na IP.Board (wersja 2.3.6). Używam oficjalnego konwertera (http://www.invisionp...P.Converter.zip). Mój problem polega na tym, że po konwersji zamiast polskich znaków są "?" lub inne "krzaki". Co ciekawe niektóre znaki (np. "ó") są konwertowane prawidłowo, inne (np. "ł") zamieniają się na na "?".

Oba forum są na tym samym serwerze i korzystają z tej samej wersji MySQL (5.0.51a-24).

metody porównywania napisów:
phpBB3 - utf8_bin
ip.board - utf8_bin

Przeglądając bazę phpBB3 przez PMA widzę, że polskie znaki nie są kodowane encjami. Po konwersji również.

Próbowałem tricków z modyfikacją connect(),

mysql_query('SET character_set_connection=utf8', $this->connection_id);
mysql_query('SET character_set_client=utf8', $this->connection_id);
mysql_query('SET character_set_results=utf8', $this->connection_id);
mysql_query("set names utf8;");

jednak bez rezultatu, użycie utf8_bin również bez skutku. Dostęp do bazy mamy tylko przez phpMyAdmin.

będę wdzięczny za pomoc.

#12 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49402 postów
  • Wersja:IP.Board 3.2.3

Napisano 28 kwiecień 2009 - 11:33

Witamy na forum,

pytanie zasadnicze - czy po konwersji w bazie danych są znaki zapytania? Jeśli tak to spróbuj najpierw edytować połączenie z bazą i wtedy spróbuj konwertować.
intermedia - profesjonalne rozwiązania Invision Power Board

#13 edi

  • Użytkownik
  • 9 postów
  • Wersja:IP.Board 3.0.4

Napisano 28 kwiecień 2009 - 11:45

Po konwersji w bazie danych są już "?". Przykład "STRONA G?ÓWNA".

Próbowałem tricku z modyfikacją metody connect() jednak bez rezultatu ;)

#14 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49402 postów
  • Wersja:IP.Board 3.2.3

Napisano 28 kwiecień 2009 - 12:17

Tabele przed ( phpbb ) i po ( ipb ) są kodowane w ten sam sposób? Włącznie z bazą?
intermedia - profesjonalne rozwiązania Invision Power Board

#15 edi

  • Użytkownik
  • 9 postów
  • Wersja:IP.Board 3.0.4

Napisano 28 kwiecień 2009 - 13:29

wszystkie tabele phpbb3 - utf8_bin
wszystkie tabele baza ipb - utf8_bin

Zanim wykonam instalacje ipb czyszczę bazę danych, ustawiam metodę porównywania napisów na "utf8_bin", dzięki temu podczas instalacji wszystkie tabele będą ja mieć.

Nie wiem czy metoda porównywania napisów to to samo co kodowanie bazy? Ew. jak mogę sprawdzić to przez phpmyadmina? Sprawdzam tak ... klikam nazwę bazy -> operacje -> "Metoda porównywania napisów" wybrane jest "utf8_bin"





Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych