Есть поле в MS-SQL, кодировка windows-1251, тип text. Через activeRecord добавляется значение поля "адрес" (кириллица), формируется такой запрос:
INSERT INTO [Orders] [Address]) VALUES (0xc8ecff20d4e0ece8ebe8ff20cef2f7e5f1f2e2ee)
Появляется ошибка: "Конфликт типа операндов: varbinary несовместим с text". На типе varchar все норм. Что делать?
MS-SQL: не записывается кириллица в поле типа text
Re: MS-SQL: не записывается кириллица в поле типа text
Забыть про windows-1251 как про стрышный сон и начать использовать UTF-8
Re: MS-SQL: не записывается кириллица в поле типа text
К сожалению, это невозможно Еще варианты есть?jakiro писал(а):Забыть про windows-1251 как про стрышный сон и начать использовать UTF-8
Re: MS-SQL: не записывается кириллица в поле типа text
Какая версия mssql, какой драйвер?
Был проект, в котором частично использовался mssql 2005. C драйвером от мелкомягких(sqlsrv) локально под виндовс проблем нету, он сам все делает. На продакшене с левым драйвером все запросы перегонялись в cp1251. Только там не было AR, запросы были с createCommand(), т.к. там в основном были вызовы процедур.
Можете покопать в этом направлении. Либо нужные данные конвертировать, либо что-то в yii\db\Command переопределить и прокинуть в настройки подключения.
Был проект, в котором частично использовался mssql 2005. C драйвером от мелкомягких(sqlsrv) локально под виндовс проблем нету, он сам все делает. На продакшене с левым драйвером все запросы перегонялись в cp1251. Только там не было AR, запросы были с createCommand(), т.к. там в основном были вызовы процедур.
Можете покопать в этом направлении. Либо нужные данные конвертировать, либо что-то в yii\db\Command переопределить и прокинуть в настройки подключения.
Re: MS-SQL: не записывается кириллица в поле типа text
У PDO на PHP7 такой баг. Откатились на php5.