![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 18 Dołączył: 11.06.2007 Skąd: Koszalin/Poznań Ostrzeżenie: (0%)
|
Witam
Problem przedstawia się następująco: mam za zadanie zrobić(przerobić) istniejący system komentarzy w joomli(remository, modowane przez paru 'pseudoinformtyków'). Niby nic prostrzego. Problemem nie do przeskoczenia stało się kodowanie polskich znaków. Cały serwis jest w iso-8895-2, kodowanie bazy danych latin1_swedish_ci. Chwilowo zrobiłem tak, że jest na serwerze plik comments.php, który odbiera wywołanie POST od jquery, w którym są dane z formularza, przerabia je, jesli stwierdzi nieprawidłości zwraca komunikat wraz z formularzem i wstawia go w div-a w którym on sie znajduje, jeśli wszytsko ok, to wysyła komunikat że dane zostały zapisane. Problem w tym, że wysyłane dane do serwera w rządaniu POST mają pokrzaczne polskie znaki. Robie to tak: CODE function parseForm(form){ var imie = form.imie.value; var mail = form.email.value; var www = form.userURL.value; var cphacode = form.cpha.value; var comment = form.comment.value; var sess = form.session.value; var idf = form.id.value; $.ajaxSetup({ contentType: "application/x-www-form-urlencoded; charset=iso-8859-2", }); $.post('ajax/comments.php', {name:imie, email:mail,url:www,cpha:cphacode,content:comment,session:sess,id:idf}, function(data){ var div = $('#comForm'); div.empty(); div.html(data); }); return false; } Wcześniej próbowałem bez $.ajaxSetup i w tym ustawienia charsetu, ale efekt jest ten sam. Kod php dostaje krzaki zamiast polskich znaków, i nic już z tym nie można zrobić. Próbowałem to co dostaje w bazie danych skopiowac do edytora tekstu i popatrzeć jakie to może miec kodowanie, ale przy żadnym nie ma prawdłowych polskich znaków. Czy jest jakaś możliwość wyjścia z tego oprócz przerobienia całości na utf-8 ? |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 29.11.2006 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 18 Dołączył: 11.06.2007 Skąd: Koszalin/Poznań Ostrzeżenie: (0%)
|
Dzięki za odpowiedź, ale to nie to.
Próbowałem tego już na samym początku. Problem polegał na tym, że dane wpisywane w iso w formularzu byłu już "na dzień dobry" przy wysyłaniu ajaxem kaleczone na utf i zmiana kodowania po stronie serwera nie pomagała. Poradziłem sobie wysyłaniem danych zapytaniem GET i potem użyciem funkcji charset_utf8_fix() z tego tematu. |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 23:04 |