szypi1989
25.09.2014, 09:31:03
Witam otóż mam problem przy przesyłaniu danych metodą get w IE 11.Otóż gdy mam link na stronie www :www.test.pl/friends_profile.php?surname=mariusz.płytek
i przenoszę się do tego link na stronę friends_profile.php która ma mi sprawdzić czy istnieje taki użytkownik(mariusz płytek) wyskakuje mi błąd w bazie danych.
Jestem pewien że w bazie danych kodowanie jest dobre .Chodzi tutaj o znaki polskie jak "ł" ponieważ w firefoxie mi wszystko pięknie działa.
Na dodatek jak za pomocą funkcji ord(która zmienia mi postać znaku na liczbowy) sprawdzę różnicę znaku "ł" między firefoxem a IE 11 to w firefoxie pokazuje mi literę "ł" na "197" a na IE "179".
Kodowanie strony mam na UTF-8 .
Turson
25.09.2014, 09:35:39
Na początek sprawdź var_dump($_GET) czy rzeczywiście litera Ł nie jest literą Ł. Ponadto możesz się zainteresować
urlencode i
urldecode. A IE jak to IE, chyba koduje domyslnie w windows-1250, albo jeszcze w czymś innym niż UTF8, stąd problemy.
szypi1989
25.09.2014, 09:50:01
Problem w tym że nie chce używać funkcji urlencode.Ponieważ chodzi mi o to aby mieć w pasku adresu czyste polskie litery jak "óŁŁ" .Rezultat funkcji var_dump pokazuje mi w firefoxie:
string(1) "�"
A na IE:
string(1) "(kwardracik)"
Turson
25.09.2014, 09:50:50
Zobacz w nagłówkach jak koduje IE i spróbuj przekonwertować przez iconv na UTF8
szypi1989
25.09.2014, 10:04:23
Dzięki .Już działa.Oto rozwiązanie:
iconv(mb_detect_encoding(trim($_GET['surname'])), 'UTF-8//IGNORE', trim($_GET['surname']))
Ale za to na serwerze nie działa:(.Całkowicie ignoruje mi wszystkie znaki i wstawia pusty wiersz.
Funkcja mb_detect_encoding(która sprawdza kodowanie znaków na IE) na ie nie sprawdza się.
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.