Hibás karakter megjelenés MSSQL adatbázissal

Fórumok

Sziasztok! Egy olyan problémával küzdők már egy ideje OTRS-el, és már feltúrtam majdnem az egész világhálót is, miszerint van egy MSSQL 2016-os adatbázisom ami össze van kapcsolva OTRS-el, működik is, OTRS-en keresztül olvasom is az adatbázist. A probléma ott adódik hogy nem jeleníti meg megfelelően az ékezetes karaktereket.

Ha az OBDC driveren keresztül kapcsolódok az MSSQL adatbázishoz akkor megfelően látom az adatokat, de midőn OTRS-en keresztül sajna hibásan. Pedig elméletileg az MSSQL adatbázis UTF-8.

Előre is köszönöm a segítséget illetve az ötleteket.

Hozzászólások

Nem használok OTRS-t, így próbálok általános választ adni a kérdésre.

Az MSSQL adatbázishoz feltehetőleg egy DSN megadásával csatlakozol. Az Unicode támogatás a protokoll 7.0-ás verziójával (MSSQL 7.0) érkezik, tehát a protokoll verziószámát legalább 7.0-ban kell meghatározni a DSN-ben az alábbiakhoz hasonlóan:

host=sql.cegnev.hu;port=1433;version=7.1;charset=UTF-8

Lásd még:
http://www.freetds.org/userguide/choosingtdsprotocol.htm

Az MSSQL adatbázis biztosan nem UTF-8. Ugyanis MSSQL alatt az nvarchar/nchar típusú oszlopok nem UTF-8, hanem (mint az Unicode karakterek amúgy a Windows vonalon már kb. 25 éve) UCS2 karakterkódolással vannak tárolva.

Én ezeket megnézném:
https://stackoverflow.com/questions/5912082/automatic-character-encodin…
https://www.easysoft.com/developer/languages/perl/sql-server-unicode.ht…