надо подтягивать данные из "сторонней" базы для подгрузки справочников на фронт. Нюанс в том, что база, из которой надо тянуть - это MSSQL с кодировкой Win1251 (изменить нельзя - база от стороннего софта). Коннект подцепил через ODBC-драйвер. Сейчас "в рамках тестов" делаю простые запросы вида "SELECT TOP 10 id,name,slug FROM matls WHERE..." (в raw-sql, модели позже допилю)
Коннект проходит, запрос проходит, но при конвертации в json-response получаю:
Malformed UTF-8 characters, possibly incorrectly encoded
При этом если запрос сделать такой, чтоб не было русских букв в выборке - всё ок. Но тут надо именно с русскими. Как правильнее конвертировать кодировку?
/* Преобразует из EUC-JP в UTF-7 */ $str = mb_convert_encoding($str, "UTF-7", "EUC-JP"); разве не подойдет? str Строка (string), которая преобразуется. to_encoding Кодировка, в которую будет преобразована строка str. from_encoding Параметр для указания исходной кодировки строки.
в config/database.php можно настроить sqlsrv для MSSQL, там и кодировку можно нужную прописать
Обсуждают сегодня