![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Przeszukując właśnie tematy tego forum pt. "polskie znaki w AJAX" doszedłem do wniosku, że napisze właśnie jak zapobiec "krzakom" w AJAX.
1. Pierwszą rzeczą, którą trzeba zrobic jest wstawienie meta tag np. w pliku index.html
2. Następnie, w pliku np. ajax.js dodajemy linijkę kodu:
U mnie wygląda to tak:
3. przy pobieraniu danych z bazy w pliku np. ajax.class.php robimy zapytanie:
najlepiej przed zapytaniem przy pobieraniu danych. U mnie cała funkcja wygląda tak:
Myślę, że choć trochę pomogłem Pozdrawiam. Ten post edytował SN@JPER^ 4.05.2007, 09:49:45 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 1 Dołączył: 2.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem z kodowaniem znaków które ujawnia się przy wykorzystaniu AJAX. Korzystam z biblioteki XAJAX, w której jest ustawione kodowanie na windows-1250 i to działa tzn. gdy jest aktualizowana strona przy pomocy AJAX, to tekst jest poprawnie wyświetlany z polskimi znakami lecz w tym tekście zawarty jest formularz z polami typu input. Po wypełnieniu formularza i kliknięciu wyślij tekst w pisany w tych polach od razu jest rozwalony pojawia się takie coś – zamiast ala ma kota ąśół jest to ala ma kota ąśłó zami. Dane z pól są wysyłane do metody w postaci tablicy przy pomocy takiego polecenia "xajax_xajax(xajax.getFormValues('nazwaformularza'));" I metoda, które odbiera dane z formularza już dostaje błędne dane. Eksperymentowałem z mianą danych w kodowaniu w bibliotece XAJAX define ('XAJAX_DEFAULT_CHAR_ENCODING', 'windows-1250' ); na kodowanie iso-8859-2 -> efekt - tekst i tekst z pól formularza same krzaki na kodowanie urf-8 to wartości z formularza było okej ale tekst wyświetlany przez AJAX był z krzakami. kodwanie windows-1250 - jest poprawnie wyswietlany tekst lecz dane z formularza są w postaci krzaków. Dodam że w każdej w szablonie widoku jest dodane kodowanie <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> Szukałem rozwiązania na forum lecz poruszane tematy głównie tyczą się z problemami z bazą danych. A mój problem to z samą biblioteką XAJAX. Udało mi się rozwiącać $xajax = new xajax('/ajax/'); $xajax->setCharEncoding('ISO-8859-2'); $xajax->decodeUTF8InputOn(); $xajax->registerFunction("processKontaktForm"); ... function processKontaktForm($aFormValues) { $objResponse = new xajaxResponse(); $objResponse->setCharEncoding('ISO-8859-2'); $send_email_res = sendKontaktEmail($aFormValues); } Należy się upewnić czy program, w którym piszemy kod ma ustawione też kodowanie na ISO-8859-2. Np w Zend musiałem zmienić kodowanie domyślne dla projektu. Ten post edytował kaniagandzowski 10.09.2007, 13:59:05 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 01:40 |