Niepoprawne kodowanie polskich znaków diakrytycznych

Baza danych oparta na MySQL w wersji 4.1 i nowszych umożliwia określenie zestawu znaków i sortowania tabeli, a nawet zestaw znaków do sortowania pól. Konieczne jest zatem, utworzenie połączenie z bazą danych serwera w którym będzie odbywało się kodowanie komunikacji. To rozwiązanie jest wyjściem w sytuacji kiedy dane przechowywane na wyjściu skryptu są wyświetlane w niepoprawnym kodowaniu.

Zachowanie serwera SQL można ustawić poprzez wysłanie polecenie SET do mysql_query (). To polecenie jest najlepszym miejscem, w którym aplikacja łączy się z bazą danych - poniższy przykład ilustruje połaczenie wykonane za pomocą polecenie PHP mysql_connect ():

$polaczenie = mysql_connect("serwer", "login", "haslo");
mysql_query("SET character_set_client=latin2");
mysql_query("SET character_set_connection=latin2");
mysql_query("SET character_set_results=latin2");

Kodowanie latin2 zastąpi obecny zestaw znaków (cp1250, utf8, latin1, ...). W celu uzyskania więcej informacji, zapoznaj się z dokumentacją MySQL na stronie http://www.mysql.com/.

Dla wszystkich parametrów, można użyć polecenia:

mysql_query("SET NAMES latin2");