OTRS+MSSQL на utf-16, убираем кракозябры

Только для готовых решений! Пожалуйста, не используйте для вопросов и обсуждений!

Модератор: ykolesnikov

Ответить
N_ton
OTRS Новобранец
Сообщения: 108
Зарегистрирован: 09 авг 2012, 22:57
Откуда: Санкт-Петербург
Благодарил (а): 1 раз
Контактная информация:

OTRS+MSSQL на utf-16, убираем кракозябры

Сообщение N_ton » 24 сен 2014, 11:32

Подключили OTRS к БД на MSSQL(Microsoft SQL Server ODBC Driver 1.0 for Linux), все хорошо, но кракозябры не совсем читабельны. Для решения проблемы изменяем запрос создания вьюхи на MSSQL, добавляем 'cast', таким образом мы уходим от nvarchar и nchar, использующих UCS-2, и получаем более привичный для utf-8 varchar, char:

Код: Выделить всё

    CREATE VIEW otrs
    AS
    SELECT cast([***] as int)
          ,cast([***] as varchar(max))
         ,cast([***] as varchar(32))
         ,cast[***] as varchar(max))
         ,cast([***] as varchar(max))
         ,cast([***] as varchar(32))
         ,cast([***] as varchar(max))
         ,cast([***] as varchar(32))
         ,STUFF((SELECT ' '+ *** +',' FROM dbo.*** TT WHERE TT.***=T.*** FOR XML PATH('')),1,1,'')
      FROM dbo.***
      GROUP BY ***, ***, ***, ***, ***, ***, ***, ***
пишу сюда, так как сам копал инфу 3 дня, может кому-нибудь пригодится. По скорости поиска клиентов разницы между локальной БД или БД в сети - не увидел(31000 записей)
OTRS 3.3.8, Debian 7, PostgreSQL 9.1.13
OTRS 4.0.17, Debian 8, MySQL + MSSQL

Ответить