Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][SQL]Przenoszenie forum, zmiana kodowania
Forum PHP.pl > Forum > Przedszkole
Robson Robson
Witam.

Wiem, że temat przenoszenia forum i problemu z kodowaniem wałkowany jest co rusz, ale większość takich jak ja, dopiero przy próbie przenosin styka się z tematem, a co drugi wątek w sieci jest zamykany, bo "to już było, poszukaj w google" itd.

Mam forum na mojeforum.net, gdzie niestety psy już zawracają, chcę je skonwertować z phpbb2 do phpbb3 i przenieść na inny hosting.
Nie robiłem tego wcześniej, nie znam się na PHP, ale szybko się uczę, więc poszperałem tu i tam, zainstalowałem WebServ, i na nim testuję.

Problem przy którym utknąłem na dobre to kodowanie.
Plik sql zapisany jest w latin1, przekonwertowałem go na utf8 za pomocą konwertera Tośka. W pliku, przy użyciu Notepad++ zamieniłem wszystkie CHARSET=latin1 na CHARSET=utf8. Nie wiem czy dobrze to wykombinowałem - taki trick znalazłem gdzieś w sieci, by uniknąć zabawy z ustawieniem tabeli już po instalacji. Jeżeli to błąd to mnie naprostujcie.
Zapisałem plik z kodowaniem na utf8 bez BOM i zaimpotrowałem przez phpMy Admina.
Pozmieniałem kodowanie w ustawieniach WebServ na takie:

character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8

collation_connection utf8_general_ci
collation_database utf8_unicode_ci
collation_server utf8_unicode_ci


W pliku my.ini, pod [mysqld] dołożyłem linijki:
character-set-server=utf8
collation-server=utf8_unicode_ci

W pliku C:\WebServ\httpd\index.php zmieniłem linijkę
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />

Problem jest taki, że z poziomu przeglądarki mam krzaki - strona domyślnie ustawia się na latin1 - przy wysyłaniu postu wiadomość ucinana jest przy pierwszej polskiej literze.
Po zmianie zestawu znaków na utf8, krzaki znikają, posty wysyłają się prawidłowo, z polskimi literami i forum wygląda jak trzeba, ale strona przy każdym zapytaniu, odświeżeniu itd, automatycznie przestawia się na latin1, nie wiem czemu i nie wiem jak to ugryźć.

Jeszcze głupie pytanie, czy ma znaczenie jak się zapisuje kodowanie, bo spotkałem się z różnymi wersjami: utf8, utf-8, UTF-8?
viking
Wielkość zazwyczaj nie ma znaczenia ale - już tak.

  1. <?php header('Content-type: text/html; charset=UTF-8'); ?>


http://wwwgo.pl/article/3/kodowanie_znakow_na_stronach_www
Robson Robson
Cytat(viking @ 17.02.2013, 09:43:15 ) *
  1. <?php header('Content-type: text/html; charset=UTF-8'); ?>

Przepraszam za głupie pytanie, jestem newbie, nie znam się na PHP i nie wiem co mam z tym zrobić.
viking
Zajrzeć do artykułu który podlinkowałem i przeczytać że nagłówki serwerowe są zawsze przed meta. Czyli jeśli masz np w konfiguracji serwera ustawione latin1 to nic ci meta nie da. A nie wiem jak skonfigurowałeś serwer więc nie jestem w stanie ci powiedzieć który z przypadków jest spełniony.
Robson Robson
Cytat
nie wiem jak skonfigurowałeś serwer

1.Mogę to jakoś sprawdzić?
Zapytanie
  1. SHOW VARIABLES LIKE 'character_set%';

daje odpowiedź, jak napisałem na początku:
character_set_server utf8
i analogicznie
  1. SHOW VARIABLES LIKE 'collation%';

collation_server utf8_unicode_ci

2.Czy mogę założyć, że zmiany które zrobiłem w Notepad++, w kopii.sql są poprawne, i że samą bazę mam dobrze ustawioną, a problem leży wyłącznie po stronie ustawień serwera?
viking
Zainstaluj jakieś narzędzie np firebuga i zobacz nagłówki odpowiedzi serwera. Czy ustawia kodowanie. Przejrzyj plik php.ini czy kodowanie nie jest na sztywno zpaisane.
Robson Robson
Dzięki dobry człowieku.
Połowy rzeczy jeszcze nie rozumiem, ale jakoś dzięki twoim podpowiedziom udało mi się naprostować wyświetlanie. Dopisałem linijkę
Kod
AddDefaultCharset utf8
w pliku httpd.conf w Apache i wszystko ładnie śmiga.
Nie wiem tylko czy na docelowym hostingu znowu mi sie wszystko nie wykrzaczy.
viking
Może się wykrzaczyć bo zazwyczaj hostingów nikt nie raczy skonfigurować w szerszym zakresie. Wtedy http://www.askapache.com/htaccess/setting-...n-htaccess.html
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.