Polskie znaki w MySQL

  • Data: 2014

Na wielu forach możemy spotkać się z pytaniami w stylu: "Jak ustawić polskie znaki w bazie MySQL? gdy wpisuję polskie znaki to pojawiają się krzaczki???. Proszę o pomoc
Aby poprawnie wyświetlić polskie znaki należy pamiętać o poprawnym:

  • ustawieniu kodowania oraz metody porównania napisów dla bazy danych (jeżeli chcemy zmodyfikować już istniejącą:CREATE => ALTER) :
  • CREATE DATABASE `nazwa_bazy` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
  • ustawieniu kodowania w wysyłanym nagłówku
  • <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Powyższe ustawienia powinny już w zasadzie działać, natomiast w wielu wypadkach problem nie leży po stronie serwera MySQL tylko konfiguracją samego serwera www, php. Jeżeli nie mamy dostępu do w/w konfiguracji "zbawieniem" się okazuje możliwość ustawienie interesującego nas kodowania połączenia:
mysql_query("SET NAMES 'utf8'");
Jeżeli jescze mamy problemy możemy pójść o krok dalej:
mysql_query("SET NAMES `utf8` COLLATE `utf8_polish_ci`");

Na koniec co jest raczej oczywiste kodowanie edytora również ustawiamy na UTF-8, co już mniej oczywiste z opcją bez BOM, szczególnie kiedy korzystamy z takich funkcji jak include lub require.

Powrót »