Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kodowanie znaków w formularzu
Forum PHP.pl > Forum > Przedszkole
majestiq
Witam,

Na stronie na której kodowanie jest w Latin2 jest formularz, którego wynik wyświetlany jest na całkiem innej stronie, która to z kolei używa kodowania UTF-8.
Problem polega na tym, że jak wpiszę się polskie znaki w formularzu to na wynikowej stronie pojawia się zamiast polskich znaków: �

Wiadomo inne kodowania, ale niestety nie mogę narazie zmienić kodowania na żadnej ze stron, gdyż wiąże się to z przebudową całego serwisu, a konkretniej zamienienia kodowania wszystkich tekstów.
Czy można jakoś, może jest jakaś funkcja w php, zmienić 'w locie' kodowanie tego co przekazuje formularz do strony wynikowej ?
piotrooo89
iconv przepuść to przez to.
rokefeler15
http://pl.php.net/iconv - jeśli dobrze zrozumiałem to powinno pomóc ;-)
Pozdrawiam

Edit: Widzę że ktoś był szybszy ;-)
majestiq
Super, o to chodzi, tylko teraz mam problem z pobraniem danych z formularza do zmiennej (aby przerobić za pomocą iconv),
no i z wysłaniem wyniku znowu do formularza (z już zmienionym kodowaniem).

Mam coś takiego:


  1. <form style="padding:15px; text-align:center" target="_blank" method="post" action="www.inna.strona.pl/docelowa.php" name="kodowanie">
  2. <input class="searchbox" type="text" name="wykonawca" value="" maxlength="255"/>
  3. <?php
  4. $text_encode = $_POST['kodowanie'];
  5. $text_encode=iconv('iso-8859-2','utf-8',$text_encode);
  6. //echo $text_encode;
  7. ?>
  8. <input class="btn" type="submit" value="Szukaj" name="btnG"/>
  9. </form>


Proszę o pomoc w zmodyfikowaniu tego kodu.
Orkan
zaraz, ja tu czegos nie rozumiem...
masz forme na stronie A i wysylasz ja na strone B bez zadnej ingerencji (pomijajac kodowanie) ?
dlaczego nie dasz tej formy w IFRAME z kodowaniem UTF-8 ? nie probowalem, ale powinno dzialac z innym kodowaniem, przeciez po to sa IFRAME tongue.gif
majestiq
Bo iframe jest bardzo nie kprzystne jeśli chodzi o pozycjonowanie danej strony.
Google to źle odbiera i nie należy tego stosować.
Ogólnie zero ramek ...
Orkan
A tego to nie slyszalem ze nie lubia iframe.
To ciekawe czemu google je uzywa w swoim programie Adsense?
Czyli wszystkie strony z "Adds by Google" nie sa "korzystnie" pozycjonowane? a to dopiero paradoks biggrin.gif

Chyba masz uraz na punkcie iframe tak jak niektorzy maja do tabel? dry.gif
Iframe jest najlepszym rozwiazaniem bo nie obciaza Ci serwera jesli chcesz tylko zmienic kodowanie... a pozycjonowac tej formy chyba nie potrzebujesz?
majestiq
Ramka google to ramka google zawsze winksmiley.jpg
Pozatym nie chcę mieć iframe'a na stronie głównej.
Na podstronie jeszcze by to przeszło.

Iconv mi odpowiada, tylko na razie nie działa ;/
Orkan
W takim razie forma powinna wskazywac na skrypt w ktorym zmieniasz kodowanie i dalej wysylasz przy pomocy cURL'a... alternatywą jest jeszcze AJAX
majestiq
No co Ty !?
Muszę wykorzystywać do takiej 'drobnostki' cURL-a lub Ajaxa exclamation.gifquestionmark.gif

Ja chcę tylko wysłać za pomocą formularza postem, podmieniony ciąg znaków.
Napewno można to zrobić jakoś prosto ? ;>
piotrooo89
tam gdzie odbierasz dane zmieniasz, czyli nie jak u Ciebie w formularzu tylko już na tej stronie wynikowej.

możesz się też zainteresować icon_set_encoding
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.