Приходят разные данные на код которых я никак не могу повлиять, максимум на лету с win-1251 перекидываю в utf-8.
Эти данные мне нужно сериализовать для чего юзаю json_encode().
Все бы ничего, но некоторые строки utf-8 порезаны криво, подозреваю режут функциями которые не поддерживают многобайтовых кодировок. Как итог у меня не работает нормально json_encode()
Пример:
<?php
$string = 'привет';
var_dump($string); // привет
var_dump(json_encode($string)); // "\u043f\u0440\u0438\u0432\u0435\u0442"
$wrongString = substr($string, 0, 11);
var_dump($wrongString); // "приве�"
var_dump(json_encode($wrongString)); // bool(false)
песочница
sandbox.onlinephpfunctions.com/code/a9829c659afcbd...
Как тут лучше сделать? может просто как-то починить json_encode или строку сделать как-то валидной?
заранее спасибо