Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AJAX] Polskie znaki w GET
Forum PHP.pl > Forum > Przedszkole
calebos
Czesc

Przekazuje zmienna przez get do skryptu ktory wyszukuje mi cos w bazie danych.
Niestety sa w nich polskie i get mi robi z tego lekka kiszke.
Zrobilbym to inaczej ale ajax wlasnie przez get mi odswieza pewne rzeczy na stronie i lipa.

Znalazlem cos takiego

Cytat
A co z polskimi znakami przy przesyłaniu danych metodą GET?

GET jest bardziej problematyczne, ale Tomcat ma jeden wbudowany myk, który pozwala tą sprawę prosto rozwiązać. Wystarczy odpowiednio skonfigurować connector HTTP, tak jak zostało to opisane tu:
http://jakarta.apache.org/tomcat/tomcat-5....onfig/http.html

Konkretnie chodzi o atrybut URIEncoding, który określa, jakiego kodowania connector powinien użyć po rozwinięciu sekwencji %xx. Jeżeli atrybut ten nie zostanie ustawiony używane jest kodowanie: ISO-8859-1.



Moze mi jakis ekspert wytlumaczyc o co w tym ka man i gdzie to sie zmienia w apache?
merk
Heh nie znam konfiguracji Tomcata, ale to rozwiazanie powinno pomóc:

Zakoduj parametry get wysylane przez ajax
  1. var parametry = 'zmienna1=ąśż&zmienna2=łół';
  2. parametry = encodeURI(parametry);

i wyslij je ajaxem dalej

skrypt odbierajacy zapytania z ajaxa powinien dekodować zmienne.
w php bedzie to cos takiego:
  1. <?php
  2. $zmienna1 = urldecode($_GET['zmienna1']);
  3. $zmienna2 = urldecode($_GET['zmienna2']);
  4. ?>
MWL
wtedy co najlepsze można nawet spacji użyć tongue.gif
calebos
Dzieki za pomoc!

Kurde musze sie podczytac w js troche bo sie bardzo motam.
Jescze jedno szybkie pytanie tzn Wywala mi tutaj blad skladni nie wiedziec czemu.
Ta funkcja dziala tylko na jakis elementach js czy na stringu tez ?
Probowalem wstawiac plus za =' itp i nie moge sie wymotac

  1. <tr BGCOLOR="F0F8FF" Onclick="DoNav('spred2.php?var='(encodeURIComponent("<?php echo $queryf; ?>"))) ">
merk
Troche zamieszania z apostrofami :-)
  1. <tr BGCOLOR="F0F8FF" Onclick="DoNav('spred2.php?var='+encodeURIComponent('<?php echo $queryf; ?>'))">


Z tego co tu pisze obie funkcje działają na stringach tylko:
http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp
http://www.w3schools.com/jsref/jsref_encodeURI.asp

acha sam efekt zakodowania polskich krzaczków możesz uzyskać w phpie:
  1. <tr BGCOLOR="F0F8FF" Onclick="DoNav('spred2.php?var=<?php echo urlencode($queryf); ?>')">
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.