Jakie jest kodowanie pliku? Powinien też być UTF8. Jaki jest domyślny zestaw znaków twojego serwera http? Powinien to być również UTF-8.
Kodowanie działa tylko wtedy, gdy:
- plik jest zakodowany prawidłowo
- serwer mówi co jest kodowanie dostarczonego pliku.
Podczas pracy z bazami danych, trzeba także ustawić właściwą kodowanie dla swoich dziedzinach DB i sposób klient MySQL komunikuje się z serwerem (patrz mysql_set_charset()
). Tylko pola nie wystarczą, ponieważ twój klient MySQL (w tym przypadku PHP) może być domyślnie ustawiony na ISO i ponownie interpretować dane. Więc kończysz z UTF8 DB -> klient ISO -> wstrzyknięty do skryptu PHP UTF8. Nie ma się co dziwić, dlaczego na końcu się to nie udało :-)
Jak wyświetlić plik z prawidłowym zestawem znaków?
header('Content-type: text/html; charset=utf-8')
jest jedno rozwiązanie
plik .htaccess zawierający AddDefaultCharset UTF-8
jest kolejnym
HTML meta Content-Type może działać zbyt ale to zawsze lepiej, aby wysłać tę informację przy użyciu nagłówków HTTP.
PS: należy również użyć mb_strlen()
, ponieważ strlen()
na ciągach UTF8 prawdopodobnie będzie raportować więcej niż rzeczywista długość.
Są 2 rzeczy do sprawdzenia, 1) Czy twój DB UTf-8, 2) Czy twój dokument ma typ UTF-8? – afuzzyllama
Jedna dobra odpowiedź z 5 lol –
@Matthieu tak, smutno ... Myślę, że to dlatego, że większość ludzi pracuje z angielskim i nie martw się o kodowanie ;-) – Capsule