Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kodowanie requrest-a
Forum PHP.pl > Forum > PHP
michal_robak
Witam,

mam problem z kodowaniem polskich znaków gdy przekazauje je w pojedyńczych apostrofach. Przesyłam kod:

  1. <?php
  2. //Enter your code here, enjoy!
  3.  
  4. $url = 'http://test.dev/users?&filter=email like %27%da%%27';
  5.  
  6. var_dump(utf8_decode(urldecode($url)));
  7. ?>


Online php parser:
http://sandbox.onlinephpfunctions.com/

wyrażenie '%da%' zamienia mi na binarny ciąg znaków. Teoretycznie mógłbym przesyłać 'da' ale to co jest w GET podstawiam pod LIKE w query builder w symfony.

Jak sobie z tym poradzić aby zwracał poprawne kodowanie ?
Tomplus
Myślę że to rozwiąże problem:
  1. $url = 'http://test.dev/users?&filter='.urlencode("email like '%da%'");
viking
A w jaki sposób pobierasz te dane? Z dokumentacji

Warning
The superglobals $_GET and $_REQUEST are already decoded. Using urldecode() on an element in $_GET or $_REQUEST could have unexpected and dangerous results
michal_robak
Cytat(Tomplus @ 2.11.2017, 09:27:44 ) *
Myślę że to rozwiąże problem:
  1. $url = 'http://test.dev/users?&filter='.urlencode("email like '%da%'");


nie, ja nie chcę zakodować url-a tylko go zdekodować. Do api przesyłam tak:

http://moj_adres/api/users?filter=firstName+like+%27%da%%27

potem w kodzie mam coś takiego:

  1. $filters = urldecode($this->query->get('filter', ''));


gzie
  1. $this->query

jest brane z Symfon-owego Request-a
viking
A czytałeś to co wyżej wkleiłem?
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.