Символы юникода шифруются в properties ресурсов
Добавляю в ресурс свойства так:
$res->setProperty('name', $modx->toJSON($arr));
И в итоге русские буквы в базе выводятся как \u1234 \u2345 и так далее. Обратно, если получить через getProperty и вывести на экран, все нормально, а вот поиск через LIKE по полю properties с русскими символами уже не работает… Как можно такое исправить? Комментарии: 2
Никак, почитай про JSON — он кодирует так все мультибайтовые символы.
json_encode($b, JSON_UNESCAPED_UNICODE);
Вот так сразу строка получается нормальная. Но setProperty оказывается обратно загоняет в массив, а потом снова применяет toJSON. Обманул так:$a->_fieldMeta['properties']['phptype'] = 'string';
$a->set('properties', $b);
$a->_fieldMeta['properties']['phptype'] = 'json';
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.