Strona 1 z 1

przemo na phpBB3 i problem z "krzaczkami"

: 26 lipca 2011, 16:50
autor: Zakhary
Witam. Po konwersji z przema na phpBB3 wszystko działa idealnie - poza jednym szczegółem. Mianowicie polskie znaki są "rozsypane".

Próbowałem z SET NAMES na utf8. Zmieniłem kodowanie w mysql.php, a także overall_header. Poza tym sprawdzałem wiele razy w MySQL, czy aby wszystko jest w UTF'ie. Import był także zgodny, a sypie krzakami tuż po konwersji.
Do tego jeszcze sprawdzanie latina2 i 1, a także iso. Wszystkie opcje praktycznie wyczerpane.

Pierwszy raz sie spotkalem z takim motywem. Sprawdzalem w DB kodowanie i SQL mi mowi, ze jest UTF8. W meta latin2. Przy laczeniu z baza danych z tego co widzialem nie bylo SET NAMES (mowa o phpbb by przemo). Kombinowalem z importem w PMA (utf8 i latin2) jednak to nic nie dalo. Modyfikowalem instalacje/update phpbb3 jednak to nic nie dalo. Mam na mysli SET NAMES przy polaczeniu. Tak samo po konwercie sprawdzalem rozne kombinacje i nic to nie dalo. I teraz sie zastanawiamy czy jest jakas metoda czy trzeba bedzie uzyc cos ala iconv albo mbstring do replace?

Re: przemo na phpBB3 i problem z "krzaczkami"

: 26 lipca 2011, 16:58
autor: daroPL
Konwerter opiera się na kodowaniu jakie jest wpisane w pliku językowym phpBB2, tzn. jest to chyba plik /language/lang_main.php. I tam na początku o ile pamiętam jest deklaracja kodowania.
Druga sprawa to w jakim kodowaniu została utworzona sama baza danych.

Spróbuj zrobić tak. W pliku install\convertors\functions_phpbb20.php poszukaj funkcji

Kod: Zaznacz cały

function phpbb_set_encoding($text, $grab_user_lang = true)
{
...
}
i zamień CAŁOŚĆ FUNKCJI na

Kod: Zaznacz cały

 function phpbb_set_encoding($text, $grab_user_lang = true)
{
   return $text
}

Re: przemo na phpBB3 i problem z "krzaczkami"

: 26 lipca 2011, 17:33
autor: Zakhary
Baza jest w UTF8 bo wykonywałem o to zapytanie, a meta jest w iso-8859-2

@EDIT: po zmianie na return to samo.

Re: przemo na phpBB3 i problem z "krzaczkami"

: 28 lipca 2011, 15:05
autor: jaroslw
daroPL pisze:Konwerter opiera się na kodowaniu jakie jest wpisane w pliku językowym phpBB2, tzn. jest to chyba plik /language/lang_main.php.
Pamiętam, że u mnie też taka zmiana pomogła, a dokładniej:

Kod: Zaznacz cały

$lang['ENCODING'] = 'iso-8859-1'; 
na:

Kod: Zaznacz cały

$lang['ENCODING'] = 'utf-8'; 
To było chyba wszystko co robiłem.

Możesz też spróbować skonwertować bazę do Unicode. Kiedyś napisałem taki prosty skrypt – zmień tylko nazwy zmiennych na te z phpBB2.