вопрос
Доброго времени суток. Хочу спросить, как передавать через json кириллицу.
js:
php:
С кодировкой utf-8 все нормально, но в базу образуются каракули, а так выдает null
Заранее спасибо!
js:
function refresh(){
var last = $('#last_mess').val();
all = $('#all_mess').val();
$.post('/ajax.php', {last:last, all:all}, function(data) {
$('#messages').append(data.message);
$('#last_mess').val(data.last_m);
$('#all_mess').val(data.len);
}, "json");
}
php:
$data_str = array('message' => $message, 'last_m' => $last, 'len' => $len);
echo json_encode($data_str);
С кодировкой utf-8 все нормально, но в базу образуются каракули, а так выдает null
Заранее спасибо!
Можно ведь на выводе менять кодировку. Т.е. ваш php код изменить примерно так:
Тогда на выводе будет работать и с кирилическими символами. Но у меня, когда я с этим столкнулся возникла другая проблема. Я вставлял данные в формы и был не рад тому что вместо обычных букв у меня вставляются штуки типа:"\u0430" и подобных. Чтобы этого избежать, я воспользовался индийским алгоритмом и вот такой вот функцией: функция
$data_str = array('message' => $message, 'last_m' => $last, 'len' => $len);
foreach ($data_str as $key => $val) {
$data_str2[$key] = iconv('CP1251','UTF-8', $val);
}
echo json_encode($data_str2);
Тогда на выводе будет работать и с кирилическими символами. Но у меня, когда я с этим столкнулся возникла другая проблема. Я вставлял данные в формы и был не рад тому что вместо обычных букв у меня вставляются штуки типа:"\u0430" и подобных. Чтобы этого избежать, я воспользовался индийским алгоритмом и вот такой вот функцией: функция