Mam funkcję w PHP, która jako argument przyjmuje jeden znak. Jeśli ten znak jest polskim znakiem (ą, ć, ę, ł, ń, ó, ś, ź, ż), to funkcja zwraca wartość true. W przeciwnym wypadku zwraca wartość false. Oto kod:
function polishFont($char)
{
if($char == 'ą' || $char == 'ć' || $char == 'ę' || $char == 'ł' || $char == 'ń' || $char == 'ó' || $char == 'ś' || $char == 'ź' || $char == 'ż')
{
return true;
}
else
{
return false;
}
}
Na localhoście na xampp wszystko działa prawidłowo. Funkcja rozpoznaje polskie znaki i zwraca wartość true.
Na hoście wykupionym na linuxpl.com (tak jak p. Mirosław zrobił na swoim video o udostępnianiu strony w sieci) ta sama funkcja już nie działa. Gdy wyświetliłem zmienną $char na ekranie za pomocą instrukcji echo, okazało się że wyszedł jakiś dziwny znak, tzw. "krzaczek". Tak więc strona na serwerze inaczej rozpoznaje kodowanie niż robi to xampp. Kodowanie w pliku .php jest ustawione na UTF-8 without BOM. Nie wiem, dlaczego serwer nie rozpoznaje mi polskich znaków. Zdanie "zażółć gęślą jaźń" jest wypisane jako "za���� g��l� ja��".
Wiecie może, jak mi pomóc? Zmienić coś gdzieś w jakichś ustawieniach serwera? A może mógłbym sprytnie użyć jakiejś funkcji w PHP? Co zrobić, żeby strona na serwerze miała poprawne kodowanie i widziała ą jako ą?
Bo mam tu poważnego buga i na razie nie wiem, co z nim zrobić.