Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kodowanie polskich znaków
Forum PHP.pl > Forum > PHP
JoShiMa
Pracuję nad pewną skryptozakładką, która analizuje wskazaną stronę, dodaje do niej formularz i za jego pomocą umożliwia przesłanie pewnych danych do pewnego systemu. Wszystko jest fajnie, kiedy analizowana strona jest kodowana w UTF-8. Jednak kiedy jest w ISO-8859-2 to "po drodze" znikają polskie znaki. Nie są gubione podczas obróbki, po prostu z POST przychodzą już bez polskich znaków.
modern-web
A narzuciłeś charset plikowi z formularzem?
Fifi209
@up

-aś nie -eś

Próbowałaś iconv ?
JoShiMa
Cytat(modern-web @ 9.03.2011, 08:34:46 ) *
A narzuciłeś charset plikowi z formularzem?

To znaczy temu, który dodaje formularz do analizowanej strony? Analizowana przeze mnie strona ma jakieś kodowanie, mam je za pomocą JS zmienić?

iconv nie mam na czym wypróbować bo z POST już przychodzi bez polskich znaków sad.gif
modern-web
Stronie zawierającej formularz (przekazujący wartości POST-em do systemu).
Innymi słowy:
1) sprawdź jakie masz kodowanie tego właśnie pliku
2) rzuć okiem na opcje programu, którym edytujesz ten plik - kodowanie znaków
3) jeśli korzystasz z mysql -> mysql_set_charset
4) jednorazowa zmiana kodowania (trochę `polowy` sposób ale działa) ->
  1. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

5) ewentualnie ->
  1. header("Content-Type: text/html; charset=ISO-8859-2");


Pozdrawiam wink.gif

P.S.
Sory za to -eś biggrin.gif Nie zwróciłem uwagi wink.gif
JoShiMa
Cytat(modern-web @ 9.03.2011, 19:49:51 ) *
Stronie zawierającej formularz (przekazujący wartości POST-em do systemu).
Innymi słowy:
1) sprawdź jakie masz kodowanie tego właśnie pliku
2) rzuć okiem na opcje programu, którym edytujesz ten plik - kodowanie znaków
3) jeśli korzystasz z mysql -> mysql_set_charset
4) jednorazowa zmiana kodowania (trochę `polowy` sposób ale działa) ->
  1. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

5) ewentualnie ->
  1. header("Content-Type: text/html; charset=ISO-8859-2");

Ad1. Plik skryptozakładki (czyst javaScript) oraz skrypt odbierający dane są w utf-8.
Ad2. Jak wyżej
Ad3. A co ma do tego mysql? Informacja gubi się między formularzem a funkcją, która dane odbiera.
AndyPSV
  1. mysql_query("SET NAMES utf8"); header('content-type:text/html;charset:utf-8');


mialem ten sam problem kiedys smile.gif
p.s. wstawiasz to ZARAZ po polaczeniu z baza danych
Fifi209
Cytat(AndyPSV @ 9.03.2011, 23:22:23 ) *
  1. mysql_query("SET NAMES utf8"); header('content-type:text/html;charset:utf-8');


mialem ten sam problem kiedys smile.gif
p.s. wstawiasz to ZARAZ po polaczeniu z baza danych

A ktoś tu pisał o bazie?
JoShiMa
Cytat(AndyPSV @ 9.03.2011, 23:22:23 ) *
  1. mysql_query("SET NAMES utf8"); header('content-type:text/html;charset:utf-8');


mialem ten sam problem kiedys smile.gif
p.s. wstawiasz to ZARAZ po polaczeniu z baza danych


Czy ty umiesz czytać człowieku? Piszę o przesyłaniu danych z formularza do aplikacji. Coście się na tę bazę tak uparli?!? Chodzi o $_POST
modern-web
Funkcję
  1. mysql_set_charset
podałem jako ewentualny przykład 'na wypadek gdyby...'
A ad 4 i 5 nie przynoszą pożądanego efektu?
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.