ďťż
Podstrony
|
telcocafeOto klasa do obsługi AJAX: http://pastebin.pl/6632Niestety do serwera trafiają dane bez polskich liter. Nic nie daje dodanie znacznika META z kodowaniem ani overrideMimeType. Po stronie serwera ustawiam nagłówek:Header('Content-type: text/html; charset=iso-8859-2');To jednak raczej nie ma znaczenia, bo dane trafiają do serwera wcześniej. Przykład: ĹťDĹťBÄąďż˝O zamiast ŹDŹBŁO. Czy pozostaje tylko przesiąść się na UTF-8, aby móc wysyłać dane przez AJAX bez kombinacji? utf-8 to powszechnie przyjęte kodowanie. Jeżeli używasz "niszowych" kodowań to mogą pojawić się problemy, tam gdzie nie zostały one uwzględnione. Jak się bawiłem ajaxem to header z utf-8 załatwiał sprawę (strona też była utf-8). Ja także miałem podobny problem i: 1. Najlepiej zmienić kodowanie wszystkiego na UTF-8 2. możesz skorzystać z tych funkcji (przed wysłaniem do ajax'a cały tekst który ma zostać nim wysłany obejmujesz funkcją iso2utf z poniższego kodu: http://www.piotrek94...org/iso2utf.zip Użytkownik piotr94 edytował ten post 01 kwiecień 2009, 13:05 Rozważam przejście na UTF-8. Chcę stworzyć rozszerzenie CZAT z użyciem AJAX. Z konwersją plików językowych nie ma kłopotu, za to pojawiają się problemy w bazie danych: 1. Tabele i pola w bazie MOGĄ być zakodowane w latin2_polish_ci, latin2_general_ci lub latin2_swedish_ci (?). 2. Jak przekonwertować zawartość do utf8_polish_ci? Czy MySQL zrobi to automatycznie, gdy zmienię kodowanie? 3. Nie chcę stosować SET NAMES, SET CHARSET itd. przy każdym połączeniu. najlepiej używać funkcji, takich jak załączona powyżej moja, i wtedy nieważne jakie kodowanie bazy danych, jakie strony itd, zawsze będzie działać ;-) Rozważam przejście na UTF-8. Chcę stworzyć rozszerzenie CZAT z użyciem AJAX. Z konwersją plików językowych nie ma kłopotu, za to pojawiają się problemy w bazie danych: 1. Tabele i pola w bazie MOGĄ być zakodowane w latin2_polish_ci, latin2_general_ci lub latin2_swedish_ci (?). 2. Jak przekonwertować zawartość do utf8_polish_ci? Czy MySQL zrobi to automatycznie, gdy zmienię kodowanie? 3. Nie chcę stosować SET NAMES, SET CHARSET itd. przy każdym połączeniu. 1. Stosuj utf8 i spokój. Tak, zamierzam przejść na UTF-8, ale... Jak bezpiecznie skonwertować zawartość w bazie danych z latin2 do utf8? Czy MySQL zrobi to automatycznie, gdy zmienię stronę kodową za pomocą ALTER TABLE? piotr94, to nie ma sensu. Jeśli nie da się zmusić AJAX-a, aby wysyłał dane na serwer w ISO-8859-2, lepiej przejść na UTF-8. Użytkownik Ferrari edytował ten post 04 kwiecień 2009, 22:18 możesz zrobić dumpa danych, przerobić tabele i jeżeli dane nie zostaną poprawnie przekodowane - wyczyścić tabele i przywrócić dumpa z latinowym SET NAMES itd. na początku -- AFAIK wtedy powinno przejść dobrze. 3. Nie chcę stosować SET NAMES, SET CHARSET itd. przy każdym połączeniu. Dlaczego nie? Jak bezpiecznie skonwertować zawartość w bazie danych z latin2 do utf8? Czy MySQL zrobi to automatycznie, gdy zmienię stronę kodową za pomocą ALTER TABLE? Nie możesz sprawdzić sam? Skopiować istniejącą lub zrobić nową tabelę z kilkoma kolumnami, każdą z innym kodowaniem, dodać kilka słów z polskimi znakami i po prostu... zmienić kodowanie? Użytkownik Kozack edytował ten post 05 kwiecień 2009, 14:55 |
|||
Sitedesign by AltusUmbrae. |