Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V  < 1 2  
Reply to this topicStart new topic
> [AJAX] - Czyli artykuł na temat polskich znaków !
Eraden
post 22.09.2009, 11:03:07
Post #21





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 22.09.2009
Skąd: Warszawa

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


Rzymek01, czy mógłbyś to rozpisać?
Jestem jeszcze zielony w AJAX i naprawdę jak to jest lepsze rozwiązanie to chciałbym je szczegółowo poznać zamiast dochodzić samemu (pewnie więcej bym się w ten sposób nauczył ale też mogę coś zwalić)
Go to the top of the page
+Quote Post
erix
post 22.09.2009, 11:14:45
Post #22





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




https://developer.mozilla.org/pl/Dokumentac...odeURIComponent


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
rzymek01
post 22.09.2009, 22:46:10
Post #23





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


hmm. rozpisać smile.gif

przeczytaj co te funkcje robią i tak ogólnie:
1) masz formularz na stronie (nie wiem czy kodowanie/charset strony jest tutaj istotne, ale w każdym razie przy utf-8 działa)
2) przed wysłaniem żądania np. GET dane traktujesz encodeURIComponent, np. http://strona.com/ajax.php?dane=encodeURIC...ut').value)
3) w php odbierając dane działasz $dane = rawurldecode($_GET['dane']);

Ten post edytował rzymek01 22.09.2009, 22:51:27


--------------------
:]
Go to the top of the page
+Quote Post
marianooo
post 30.09.2010, 17:18:44
Post #24





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 29.09.2010

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


Witam, może ktoś rzeczowo i konkretnie napisać jakich zmian należy dokonać w formularzu AJAX CONTACT FORM tak ażeby w przychodzących mailach były polskie znaki questionmark.gif? Próbowałem różnych metod, także opisanych na tym forum ale nic nie dało rezultatu. Proszę o jakieś rzeczowe wyjaśnienie jak sobie z tym poradzić

Posiadam takie pliki:

index.php
contact.js
contact.php
functionaddevent.js
loading.gif
thumbs.db
xmlhttp.js
functionaddevent.php

Pliki można pobrać STĄD

Dziwna rzecz - jak ustawie azeby maile przychodziły na gmaila to w poczcie gmail mam polskie znaki - a na innych kontach nie mam

Ten post edytował marianooo 30.09.2010, 17:20:08
Go to the top of the page
+Quote Post
blasq
post 2.12.2010, 23:13:45
Post #25





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.11.2010

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


Witam
chciałbym odnieść się do przesyłania polskich znaków w jQuery. Siedziałem nad tym 2 dni, nim doszedłem do tego, przeczytałem setki tematów i artykułów z tym związanych. Zamiast polskich znaków były tylko krzaczki. Może więc komuś się przyda...

chodzi o dodawanie komentarzy, przesyłanie GETem do pliku php, wpis do bazy, i zwracanie komentarza w rezultacie do dokumentu rodzica, gdzie jest on dynamicznie dopisywany do listy

moje rozwiązanie:
ustawić w meta kodowanie utf-8, zaś w wywoływanym w tle pliku php dodać nagłówek
  1. header('Content-Type: text/html; charset=utf-8');

pliki z kodem zapisać przy użyciu edytora tekstowego z kodowaniem UTF-8.
Co najważniejsze: do formularza dodać atrybut akceptowanego kodowania (pomijam inne atrybuty):

  1. <form accept-charset="utf-8">



jeśli to okaże się niewystarczające, można w pliku php dodać funkcję konwersji:

  1. function znaki_pl($string)
  2. {
  3. $przed= array('%u0105','%u0107','%u0119','%u0142','%u0144','%F3','%u015B','%u017A','%u017C',
  4. '%u0104','%u0106','%u0118','%u0141','%u0143','Ó','%u015A','%u0179','%u017B');
  5. $po= array("ą","ć","ę","ł","ń","ó","ś","ź","ż",
  6. "Ą","Ć","Ę","Ł","Ń","Ó","Ś","Ź","Ż");
  7.  
  8. $string = str_replace($przed, $po, $string);
  9. return $string;
  10. }
  11.  
  12. $txt=znaki_pl($txt);


zwracam uwagę na zmieniony ręcznie przeze mnie wpis dotyczący "ó" - długo nie mogłem dojść, dlaczego z tą jedną literą był wciąż problem...

pozdrawiam!
Go to the top of the page
+Quote Post
mate006
post 10.10.2011, 17:08:30
Post #26





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 13.05.2011

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


Wiem że odkopuję stary temat, ale już mi głowa pęka od tego kombinowania.

A mianowicie co zrobić by dane z literą ó mi wyświetlało?

np.
$str = "mój pies";

To nic sie nie dzieję, jeśli jednak zrobię

$str =str_replace("ó", "o", $str);

to nie ma problemu i wszystko ładnie chodzi z innymi literami jest ok. czemu ta literka ó robi takie problemy?

Proszę pomóżcie, doradzcie coś bo mi już sił brak na walkę z tym. wszystkie te metody z tego forum już próbowałem jednak zero poprawy
Go to the top of the page
+Quote Post
daniel1302
post 31.01.2012, 10:01:47
Post #27





Grupa: Zarejestrowani
Postów: 602
Pomógł: 30
Dołączył: 1.08.2007
Skąd: Nowy Sącz

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


Dodaj od siebie 2 funkcje.
W JSON miałem mnóstwo problemów aby przesłać tekst z polskimi znakami. Raz udało mi się to ominąć, lecz gdy wysłałem pliki z localhosta na serwer to spowrotem to samo...
Funkcja w PHP:

  1. function toCode($string)
  2. {
  3. $string = preg_replace('/ę/', '{e}', $string);
  4. $string = preg_replace('/ó/', '{o}', $string);
  5. $string = preg_replace('/ą/', '{a}', $string);
  6. $string = preg_replace('/ś/', '{s}', $string);
  7. $string = preg_replace('/ł/', '{l}', $string);
  8. $string = preg_replace('/ż/', '{z}', $string);
  9. $string = preg_replace('/ź/', '{x}', $string);
  10. $string = preg_replace('/ć/', '{c}', $string);
  11. $string = preg_replace('/ń/', '{n}', $string);
  12. return $string;
  13. }

I oto gdy mamy taki tekst: Mój koleżka ma osę, Otrzymamy: M{o}j kole{z}ka ma os{e}, I tym sposobem JSON nic sie nam nie będzie rzucał, nie wytnie mam tekstu itp...

I funkcja odkodowująca dla JS:
  1. function toPolish(string)
  2. {
  3. string = string.replace('{e}', 'ę');
  4. string = string.replace('{o}', 'ó');
  5. string = string.replace('{a}', 'ą');
  6. string = string.replace('{s}', 'ś');
  7. string = string.replace('{l}', 'ł');
  8. string = string.replace('{z}', 'ż');
  9. string = string.replace('{x}', 'ź');
  10. string = string.replace('{c}', 'ć');
  11. string = string.replace('{n}', 'ń');
  12. return string;
  13. }


Która zwróci nam taki tekst jaki zakodowaliśmy.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 17:39