szefol7
3.11.2004, 03:08:55
Nie wyświetla mi polskich znaków zarówno w php (z formularza jeżeli są przeniesione dane na następną stronę wyświetlane już są bez polskich znaków) oraz w MySQL. Po wprowadzeniu danych tam gdzie były wpisane polskie znaki wyświetlają się "dziwne znaczki".
Czy można temu jakoś zaradzić?
Bardzo bym prosił o pomoc w tym temacie.
Z góry dziękuję!!!
Jakie masz ustawione kodowanie na poszczególnych stronach?
szefol7
3.11.2004, 12:22:45
ISO-8859-2
Hm, dziwne ;] Jeżeli przy formularzu też masz ustawione kodowanie ISO-8859-2 to powinno być ok. Spróbuj w httpd.conf dać :
AddDefaultCharset ISO-8859-2
Ja np. jak miałem ustawione ISO-8859-2 to mi nie chciał Apache wyświetlać UTF-8 :/ Zmieniłem na :
AddDefaultCharset UTF-8
i teraz śmiga ładnie
szefol7
3.11.2004, 13:52:51
Hmm.
Dodałem AddDefaultCharset ISO-8859-2 do httpd.conf, zrestartowałem server i dalej to samo.
Może jak napisze te kilka rzeczy to Cię naprowadzi co to może być:
Kiedy pisze skrypt w notatniku to nie chce wogóle na stronie wyświetlać polskich znaków (poprostu "echo" nie wyświetla mi polskich znaków), ale spróbowałem edytować tekst w HTMLowcu (edytor html) i już normalnie wyświetliło polskie znaki.
Także jeden problem był by z głowy, notatnik prawdopodobnie koduje strony w innym standardzie.
Ale pozostaje problem z MySQL-em. Przesyłane dane z formularza do MySQL-a nadal są bez polskich znaków. Wprowadzałem dane bezpośrednio do MySQL-a z poziomu DOSa i polskie znaki są wprowadzane bez problemu.
Czy może się ktoś orientuje co to może być?
spenalzo
3.11.2004, 13:54:33
Może w bazie masz znaki w innym kodowaniu niż iso?
szefol7
3.11.2004, 14:07:15
A gdzie moge sprawdzić/zmienić kodowanie w bazie? Wszukałem tak wstępnie, ale niestety nie wiem gdzie to moge znaleźć?
Prosił bym o małą podpowiedź.
Z tego co piszesz wynika, że tam gdzie wyświetlasz dane jest kodowanie Windows-1250. Natomiast przy wprowadzaniu używasz ISO-8859-2. Skąd takie przypuszczenie? Jeżeli z poziomu dosa wprowadasz dane to używasz kodowania Windows-1250. Następnie gdy wyświetlasz te dane pobrane z bazy to gdybyś użył kodowania ISO-8859-2 to by Ci wyświetliło krzaki przecież.
Możesz podać ( <meta http-equiv="Content-type" ... > ) ze strony gdzie masz formularz i ze strony gdzie wyświetlasz dane?
phpbybastek
4.11.2004, 07:29:54
Tu masz tak po hamsku jakbyś sobie już nie radził
Kod
$zmienna = strtr($zmienna, "\xa6\xa1\xaf\xca\xc6\xac\xd3\xa3\xb6\xb1\xbf\xea\xe6\xbc\xf3\xb3", "\x8c\xa5\xaf\xca\xc6\x8f\xd3\xa3\x9c\xb9\xbf\xea\xe6\x9f\xf3\xb3");
szefol7
6.11.2004, 02:40:40
<meta HTTP-EQUIV="Content-type" CONTENT="text/html; charset ISO-8859-2">
Tak wygląda na stronie z formularzem, i na stronie gdzie wyświetlam wyniki.
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.