Kodowanie polskich znaków w PHP-Fusion
Z ToProste
PHP-Fusion bez problemów obsługuje polskie znaki. Jednak po przeniesieniu skryptu i bazy na inny host często zamiast polskich znaków pojawiają się krzaczki.
Źródłem problemu jest brak ustawienia kodowania znaków dla połączenia z bazą MySQL, a dokładniej ustawienie domyślnego, które zwykle bywa różne od ustawionego w skrypcie.
Aby ustrzec się w przyszłości przed taką niespodzianką, należy przed instalacją PHP-Fusion trochę zmodyfikować dwa pliki: maincore.php i setup.php.
W kodach w/w plików należy odszukać następujący kod:
$db_connect = @mysql_connect($db_host, $db_user, $db_pass); $db_select = @mysql_select_db($db_name);
i zaraz po nim dodać:
@mysql_query("SET CHARACTER SET utf8"); // Ustawienie kodowania utf-8 dla połączenia z bazą MySQL @mysql_query("SET COLLATION utf8_unicode_ci"); // Ustawienie sortowania na utf-8 dla połączenia z bazą MySQL
W/w kod dla połączenia z bazą ustawia kodowanie UTF-8.
A co, jeśli mamy bazę już zawierającą treść i chcemy ją importować?
- Zmodyfikuj w/w sposób plik maincore.php.
- Zmień kodowanie pliku sql zawierającego dane twojej bazy danych. Najlepiej użyć do tego edytora Notepad++
- W pliku sql zawierającym dane twojej bazy danych zamień wszystkie krzaczki na polskie znaki.
- Importuj plik sql do bazy.
Zobacz też
<htmlet>zobacz-tez</htmlet>