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;
}
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 ?