Символы юникода шифруются в properties ресурсов

Добавляю в ресурс свойства так:
$res->setProperty('name', $modx->toJSON($arr));
И в итоге русские буквы в базе выводятся как \u1234 \u2345 и так далее. Обратно, если получить через getProperty и вывести на экран, все нормально, а вот поиск через LIKE по полю properties с русскими символами уже не работает… Как можно такое исправить?
Виталий Киреев
05 апреля 2013, 00:55
modx.pro
1 315
0

Комментарии: 2

Василий Наумкин
05 апреля 2013, 09:44
0
Никак, почитай про JSON — он кодирует так все мультибайтовые символы.
    Виталий Киреев
    05 апреля 2013, 11:34
    0
    json_encode($b, JSON_UNESCAPED_UNICODE);
    Вот так сразу строка получается нормальная. Но setProperty оказывается обратно загоняет в массив, а потом снова применяет toJSON. Обманул так:
    $a->_fieldMeta['properties']['phptype'] = 'string';
    $a->set('properties', $b);
    $a->_fieldMeta['properties']['phptype'] = 'json';
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2