Autor | Zpráva | ||
---|---|---|---|
Petr Svetr Profil |
#1 · Zasláno: 6. 4. 2009, 15:28:18
Mam nejaky ajax formular, kde texty pred odeslanim na server zaescapuju pomoci js fce escape() a na serveru bych chtel takovy string zpet odescapovat - tedy pomoci php. Nenasel jsem nic kloudneho... Prosim poradte...
Petr |
||
Fireous Profil |
#2 · Zasláno: 6. 4. 2009, 16:16:22
skús http://us3.php.net/manual/en/function.htmlentities.php a aj sekciu See also
|
||
Petr Svetr Profil |
#3 · Zasláno: 7. 4. 2009, 11:07:10 · Upravil/a: Petr Svetr
Zkousel jsem psi kusy... a stale to nechodi jak ma...
Scenar: do formulare zadam string: ěščřžýáíéúů js po pouziti escape() vrati %u011B%u0161%u010D%u0159%u017E%FD%E1%ED%E9%FA%u016F V php pak pro dekodovani pouziji tuto fci: function unescape($source, $iconv_to = 'UTF-8') { $decodedStr = ''; $pos = 0; $len = strlen ($source); while ($pos < $len) { $charAt = substr ($source, $pos, 1); if ($charAt == '%') { $pos++; $charAt = substr ($source, $pos, 1); if ($charAt == 'u') { // we got a unicode character $pos++; $unicodeHexVal = substr ($source, $pos, 4); $unicode = hexdec ($unicodeHexVal); $decodedStr .= code2utf($unicode); $pos += 4; } else { // we have an escaped ascii character $hexVal = substr ($source, $pos, 2); $decodedStr .= chr (hexdec ($hexVal)); $pos += 2; } } else { $decodedStr .= $charAt; $pos++; } } if ($iconv_to != "UTF-8") { $decodedStr = iconv("UTF-8", $iconv_to, $decodedStr); } return $decodedStr; } a s nekterymi znaky si to poradi a s nekterymi ne - v tomto pripade vraci: ěščřž�����ů (...a do databaze se ulozi jen ěščřž) |
||
Petr Svetr Profil |
#4 · Zasláno: 7. 4. 2009, 12:47:25
vyreseno... uz nikdy vice AJAX a GET dohromady
|
||
Časová prodleva: 3 měsíce
|
|||
LucaS Profil |
#5 · Zasláno: 13. 7. 2009, 17:17:43
[#4] Zdarec, a na jaké řešení jsi přišel...? Zrovna to šeřím a už hodinu googlím :-) díky
|
||
Časová prodleva: 8 měsíců
|
|||
Davidh Profil * |
#6 · Zasláno: 6. 3. 2010, 11:01:45
proste pouzij POST a neescapuj
... taky sem to resil dlouho |
||
Časová prodleva: 14 let
|
0