Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

Polonixx

[PHPBB by Przemo] Kodowanie znaków

Polecane posty

Witam!

Po przeniesieniu forum na inną bazę danych nie ma na nim polskich znaków. Podejrzewam, że odpowiada za to kodowanie. Na forum jest prawodopodobnie ISO a na bazie UTF8 albo Latin2. Teraz pytanie - w którym pliku to zmienić? Wiem, że gdzieś, gdzie jest linijka odpowiadająca za łączenie z bazą, ale nie mam pojęcia który to plik. Pewnie mysql.php, ale nie wiem która linijka. Byłbym wdzięczny za pomoc.

Link do komentarza
Udostępnij na innych stronach

Pytanie, czy przenosząc danych czegoś nie zepsułeś. Baza źródłowa i docelowa powinny mieć ustawione to samo kodowanie (czy też metody porównywania napisów).

Jeśli dobrze pamiętam, to w overall_header.tpl powinieneś mieć linijkę:

<meta http-equiv="Content-Type" content="text/html; charset="użyte kodowanie" />

Poeksperymentuj z tym, co określiłem jako "użyte kodowanie".

Ewentualnie możesz jeszcze spróbować dopisać do pliku config.php czegoś takiego

header('Content-Type: text/html; charset="kodowanie"');

zaraz po znaczku <?php (albo <? nie pamiętam jak to wyglądało w phpBB i pochodnych).

Link do komentarza
Udostępnij na innych stronach

Nie działa niestety ; /

Na stronie, którą też przenosiłem i na której był ten sam problem, rozwiązałem to poprzez wpisanie w pliku odpowiedzialnym za łączenie się z bazą (po tej linijce, która to robiła):

mysql_query("SET NAMES latin2");

Myślę, że to samo można zrobić na forum, tylko nie wiem w którym pliczku ;/

Link do komentarza
Udostępnij na innych stronach

Jak na moje, to nie ma co grzebać w overall_header, bo problem z krzakami zamiast polskich znaków leży po stronie MySQL'a.

Moim zdaniem, dobierz się do pliku mysql4.php [folder db] i doklej linijkę:

mysql_query("set names 'kodowanie'",$this->db_connect_id);

Oczywiście w miejsce kodowanie, wstaw nowe kodowanie, a nie to co było.

Ostatecznie powinno to przyjąć postać:

      if( $this->db_connect_id ) 
        {
            if( $database != "" )
            {
                $this->dbname = $database;
                $dbselect = mysql_select_db($this->dbname);
                mysql_query("set names 'kodowanie'",$this->db_connect_id);

                if( !$dbselect )
                {
                    mysql_close($this->db_connect_id);
                    $this->db_connect_id = $dbselect;
                }
            }

            return $this->db_connect_id;
        }

Jeśli to nie pomoże, to twórca skryptu napisał konwerter, który plik po pliku zmienia kodowania, ale trochę to trwa. Odsyłam do strony link

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...