Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> URL i utf8, konwertowanie poslkich znaków w url
miszz
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 20.02.2004
Skąd: Zielona góra

Ostrzeżenie: (0%)
-----


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)
Go to the top of the page
+Quote Post
atominium
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.09.2009

Ostrzeżenie: (0%)
-----


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().
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 14:02