Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » Кириллица в json

Кириллица в json


     19.04.2013    json, post    jQuery, Общие вопросы по PHP    6240

вопрос
Доброго времени суток. Хочу спросить, как передавать через json кириллицу.
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
Заранее спасибо!

Ответил: rashpil


Можно ведь на выводе менять кодировку. Т.е. ваш php код изменить примерно так:


$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" и подобных. Чтобы этого избежать, я воспользовался индийским алгоритмом и вот такой вот функцией: функция

3 комментария

Arteom
Юзер

Arteom - 19 апреля 2013 20:24 -


rashpil
Эксперт

rashpil - 19 апреля 2013 20:43 -

Ну попробуй данные перевести в УТФ до создания массива

Arteom
Юзер

Arteom - 19 апреля 2013 20:46 -

rashpil, спасибо

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх