Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: URL i utf8
Forum PHP.pl > Forum > XML, AJAX
miszz
Dzień dobry,

mam bazę z kodowaniem cp1250 wyciągam z niej dane za pomocą PHP obrabiając ją na utf8
  1. public function changeEncodeCout($text) {
  2. if(is_array($text)) {
  3. $this->serializedArray = serialize($text);
  4. $this->value = iconv("cp1250", "utf-8", $this->serializedArray);
  5. return unserialize($this->value);
  6.  
  7. }else {
  8. $this->value=$text;
  9. return iconv(iconv_get_encoding($this->value), "utf-8", $this->value);
  10. }
  11. return 1;
  12. }

.
Dane są dodane do formularza następnie końcowy użytkownik dokonuje pewnych operacji na nim.
I tu jest szkopuł, mianowicie pewne dane wyciągane są dynamicznie z pól formularza:
  1. $.getJSON('php_js.php?action=surowce_cechy&pole=pole2&id='+UTF8doPolskich(val), function(json)

php_js.php?action=surowce_cechy&pole=pole2&id=ADRES%C3%93WKA
i mimo starań (UTF8doPolskich()) nie mogę prze konwertować znaków utf8 w url do postaci zjadliwej.

- funckje js znalezione w googlach:
  1. function polskieDoUTF8(str) {
  2. var polskie=new Array('ą','ś','ź','ć','ń','ó','ł','ę','ż','Ą','Ś','Ź','Ć','Ń','Ó','Ł','Ę','Ż');
  3. var zakodowane=new Array('%C4%85','%C5%9B','%C5%BA','%C4%87','%C5%84','%C3%B3','%C5%82',
  4. '%C4%99','%C5%BC','%C4%84','%C5%9A','%C5%B9','%C4%86','%C5%83','%C3%93',
  5. '%C5%81','%C4%98','%C5%BB');
  6. for(var i=0; i < polskie.length; i++)
  7. str=str.replace(new RegExp(polskie[i],'gm'),zakodowane[i]);
  8. return str;
  9. }
  10. //UTF-8 do polskich
  11. function UTF8doPolskich(str) {
  12. var polskie=new Array('ą','ś','ź','ć','ń','ó','ł','ę','ż','Ą','Ś','Ź','Ć','Ń','Ó','Ł','Ę','Ż');
  13. var zakodowane=new Array('%C4%85','%C5%9B','%C5%BA','%C4%87','%C5%84','%C3%B3','%C5%82',
  14. '%C4%99','%C5%BC','%C4%84','%C5%9A','%C5%B9','%C4%86','%C5%83','%C3%93',
  15. '%C5%81','%C4%98','%C5%BB');
  16. for(var i=0; i < polskie.length; i++)
  17. str=str.replace(new RegExp(zakodowane[i],'gm'),polskie[i]);
  18. return str;
  19. }

nie przynosi efektu. Kak się za to zabrać Panowie? (chciałbym to zrobić na poziomie właśnie jquery)
atominium
Ja bym tego nie robił na poziomie jquery tylko na poziomie php'a.
Użył bym funkcji urlrawencode() jeżeli dobrze pamiętam to dzięki niej url ze znakami polskimi jest zjadliwy.
Odwrotną funkcją będzie urlrawdecode().
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.