здравейте ...
проблема е следния:
имам javascript функция която върща текст в json формат
GeSHi (Javascript):
function send(id)
{
var cifri=id;
$.post("jquery.php", {id: ""+id+"", engina: "check", cifri: ""+cifri+""}, function(data)
{
var rezultat=utf8_decode(data);
$("#myform").dform({
"action" : "index.html",
"method" : "post",
"html" : rezultat
});
$(function() {
$( "#div_egn" ).dialog({
resizable: false,
height:140,
modal: true,
buttons: {
"Delete all items": function() {
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
});
});
}
сголбох и една малка функцийка за енкодинг в JS
function utf8_decode(s) {
return decodeURIComponent( escape( s ) );
}
но с нея и без нея ... кирилица в utf-8 не се получава.
резултата които връща jquery.php е следният :
[{"name":"id_person","id":"id_person","value":null,"type":"hidden","field_check":"digit","field_min_leight":"0","field_max_leight":"11","caption":"\u043d\u043e\u043c\u0435\u0440 \u043d\u0430 \u043b\u0438\u0446\u0435\u0442\u043e"},{"name":"egn","id":"egn","value":null,"type":"number","field_check":"digit","field_min_leight":"0","field_max_leight":"8","caption":"\u0415\u0413\u041d"},{"name":"fname","id":"fname","value":null,"type":"text","field_check":"dotcomma","field_min_leight":"0","field_max_leight":"30","caption":"\u0438\u043c\u0435"},{"name":"mname","id":"mname","value":null,"type":"text","field_check":"dotcomma","field_min_leight":"0","field_max_leight":"30","caption":"\u043f\u0440\u0435\u0437\u0438\u043c\u0435"},{"name":"lname","id":"lname","value":null,"type":"text","field_check":"dotcomma","field_min_leight":"0","field_max_leight":"30","caption":"\u0444\u0430\u043c\u0438\u043b\u0438\u044f"},{"name":"lichna_karta_nomer","id":"lichna_karta_nomer","value":null,"type":"number","field_check":"digit","field_min_leight":"0","field_max_leight":"11","caption":"\u043b\u0438\u0447\u043d\u0430 \u043a\u0430\u0440\u0442\u0430 \u2116"},{"name":"lichna_karta_data_izdadena","id":"lichna_karta_data_izdadena","value":null,"type":"date","field_check":"date","field_min_leight":"0","field_max_leight":"10","caption":"\u0438\u0437\u0434\u0430\u0434\u0435\u043d\u0430 \u043d\u0430"},{"name":"id_lichna_karta_izdatel","id":"id_lichna_karta_izdatel","value":null,"type":"select","field_check":"","field_min_leight":"0","field_max_leight":"0","caption":null},{"name":"id_oblast","id":"id_oblast","value":null,"type":"select","field_check":"","field_min_leight":"0","field_max_leight":"0","caption":"\u043e\u0431\u043b\u0430\u0441\u0442"},{"name":"id_obshtina","id":"id_obshtina","value":null,"type":"select","field_check":"","field_min_leight":"0","field_max_leight":"0","caption":"\u043e\u0431\u0449\u0438\u043d\u0430"},{"name":"id_city","id":"id_city","value":null,"type":"select","field_check":"","field_min_leight":"0","field_max_leight":"0","caption":"\u043d\u0430\u0441\u0435\u043b\u0435\u043d\u043e \u043c\u044f\u0441\u0442\u043e"},{"name":"address","id":"address","value":null,"type":"text","field_check":"dotcomma","field_min_leight":"0","field_max_leight":"100","caption":"\u0443\u043b\u0438\u0446\u0430"},{"name":"address_nomer","id":"address_nomer","value":null,"type":"text","field_check":"dotcomma","field_min_leight":"0","field_max_leight":"4","caption":"\u043d\u043e\u043c\u0435\u0440"},{"name":"address_blok","id":"address_blok","value":null,"type":"text","field_check":"dotcomma","field_min_leight":"0","field_max_leight":"3","caption":"\u0431\u043b\u043e\u043a"},{"name":"address_vhod","id":"address_vhod","value":null,"type":"text","field_check":"dotcomma","field_min_leight":"0","field_max_leight":"3","caption":"\u0432\u0445\u043e\u0434"},{"name":"address_etaj","id":"address_etaj","value":null,"type":"text","field_check":"dotcomma","field_min_leight":"0","field_max_leight":"3","caption":"\u0435\u0442\u0430\u0436"},{"name":"address_apartament","id":"address_apartament","value":null,"type":"text","field_check":"dotcomma","field_min_leight":"0","field_max_leight":"3","caption":"\u0430\u043f\u0430\u0440\u0442\u0430\u043c\u0435\u043d\u0442"},{"name":"phone","id":"phone","value":null,"type":"text","field_check":"dotcomma","field_min_leight":"0","field_max_leight":"20","caption":"\u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435\u043d \u043d\u043e\u043c\u0435\u0440"}]
това го виждам и на alert();
ако този резултат от алерта го сложа на мястото на променливата "rezultat" си се визуализира кирилизирано... без проблеми ...
но ако го оставя така както е в момента - визуализацията е това което ми дава алерт-а ... а именно шифровка на UTF-8.
json формата от jquery.php го връщам с echo (json_encode($return));
jquery.php и базата данни в MySQL са в UTF-8 енкодинг.
в заявката към SQL имам и
mysql_query('set names utf-8', $RESULT);
mysql_query('SET CHARACTER SET UTF8');
ако правя "нормално" запитване с пхп всичко си излиза както си му е реда .. но този JSON се чупи някъде
къде греша ?