Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Brak polskich liter
Forum PHP.pl > Forum > PHP
sluagh
Witam
Mam problem z polskimi literami, a raczej z ich brakiem. Problem występuje gdy chcę przesłać dane za pomocą formularz. Gdy sprawdzam zawartość zmiennej $_POST już jest źle. Na przykład do formularz wpisuje słowo twój, a w $_POSCie jest twj. Natomiast gdy w formularzu wpiszę twłój to wtedy wyświetla twłój,a więc poprawnie. Kodowanie strony to iso-8859-2.
Taki zestaw znaków również jest poprawnie wyświetlany: xbzcnżźćłóęść. Problem występuje też przy wyrażeniu się. Dopiero dodanie litery ł przed ę działa: siłę smile.gif

Zapomniałem dodać ze problem wystąpił po wgraniu nowszej wersji Apacha i PHP. Wcześniej używałem Notepada++ i było w porządku. Podejrzewa ze problem kryje się w php.ini
blooregard
Sprawdź kodowanie pliku (czyli to, w jakim edytor zapisał Ci plik z kodem na dysku).
sluagh
Kodowanie plików jest poprawne ISO-8859-2, sprawdzone za pomocą programu grzegrzółka
Pilsener
A w jakim kodowaniu chcesz wysłać ten formularz? I skąd wiesz, że wysyła źle? Może Ty źle wyświetlasz? Sprawdź co odbierasz z formularza np. taką funkcją:
http://pl2.php.net/manual/pl/function.mb-detect-encoding.php

Jeśli kodowanie jest inne niż ustawione na stronie to znaczy, że masz gdzieś parametr "charset" (np. w form) inny niż ten na stronie.
sluagh
Problem rozwiązany, należało za komentować zmienną w php.ini:
;mbstring.http_input = auto
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.