Má Nette nejakú metódu na šifrovanie diakritiky do url

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Čamo
Člen | 798
+
0
-

Zdravím,
Prosím vás potrebujem zašifrovať diakritiku a asi aj iné znaky do parametra v url. Má na to Nette nejakú metódu. Bude stačiť rawurlencode na položku email a product?
Adresa by mala vyzerať:

http://pricemania.sk/overeny-obchod-objednavka?id=xxxxxxxx&objednavka_id=xxxxxxxx&email=xxxxxxx&product[]=xxxxxxxxxxxx

Editoval Čamo (12. 12. 2014 14:00)

Oli
Člen | 1215
+
0
-
Čamo
Člen | 798
+
0
-

Medzi tým mi poslali podklady tak vidím, že to robia cez urlencode. Nejde o pekné url, ale o prenos diakritiky.
Edit: Pardón ide o riadiace znaky v url nie o diakritiku. Vidím, že mám medzery.

Editoval Čamo (12. 12. 2014 17:25)

llook
Člen | 407
+
+7
-

Když vytváříš odkaz přes Presenter->link() nebo v šabloně přes {link} nebo n:href, tak to se o URL kódování postará samo. Při ručním skládání URL použij rawurlencode.

Čamo
Člen | 798
+
0
-

Ide o ručné skladanie a musím použiť urlencode(neviem prečo nie raw).
Nevie mi niekto vysvetliť, prečo je @ v url rezervovaný znak?

Etch
Člen | 403
+
0
-

Protože authority. Více informací si můžeš najít v RFC3986 sekce 3.2. Ve zkratce se dá říci, schéma je následující "userinfo@host:port"

Editoval Etch (12. 12. 2014 17:41)

Filip Procházka
Moderator | 4668
+
+11
-

Neskládej url ručně, raději použí Url:

$url = new Nette\Http\Url('https://www.kdyby.org/?neco=1');
$url->appendQuery(['foo' => 'ančovičky']);
echo (string) $url; // https://www.kdyby.org/?neco=1&foo=an%C4%8Dovi%C4%8Dky
Čamo
Člen | 798
+
0
-

No to by bolo skvelé, ale videl som ten formát v akom to oni prímajú a to je z fcie urlencode(). Predpokladám, že Nette používa rawurlencode(). Momentálne to neviem otestovať.

Inak keď som to skúmal tak to vyzerá tak, že diakritika a dokonca medzery v url byť môžu, nie sú to riadiace znaky. Prípadne ak mi to vie niekto upresniť uľahčí mi tým život. Ďakujem.

Editoval Čamo (13. 12. 2014 16:28)

Čamo
Člen | 798
+
0
-

Etch
Najprv som si myslel, že si robíš prdel, ale teraz som si všimol že si označil aj sekciu. Tak díky to si prečítam.

Čamo
Člen | 798
+
0
-

Tak som si to dnes otestoval a funguje to krásne, takže dík.

Editoval Čamo (14. 12. 2014 16:48)