Cześć. Mam Linked Server na silniku SQL Servera na którym znajduje się baza danych MySQL z kodowaniem znaków ustawionym na UTF8. Jednakże po odczycie danych za pomocą komendy OPENQUERY po stronie SQL Servera (COLLATION Polish_CI_AS) polskie znaki zamieniane są na znaki zapytania. Co powinienem zrobić, żeby rozwiązać ten problem?
0
1
Co mogło pójść nie tak? Od klienta bazodanowego do MySQLa jest kilka miejsc, gdzie może zachodzić "automagiczna" konwersja znaków.
Klient bazodanowy (kodowanie#A) --- MSSQL Server (kodowanie#B) --- driver (Kodowanie#C) --- MySQL(Kodowanie#D)
Nie zaszkodzi podać więcej danych dotyczących problemu:
- Jakie masz kodowanie na serwerze MSSQL ?
- Jakie masz kodowanie zdefiniowane dla LinkedServera (źródle danych, z którego linked server korzysta).
- Jakie masz kodowanie na kliencie łączącym się do MSSQLa?
Póki co, wiemy, że Kodowanie#D = UTF8. Zweryfikowałeś że faktycznie UTF8, czy ktoś Ci powiedział i wierzysz na słowo?
0
To jeszcze która wersja SQL Server. Od 2019 jest obsługa UTF_8. Przy colaltion trzeba dodać suffix UTF_8
W Twoim przypadku coś takiego:
COLLATION Polish_CI_AS_UTF8
0
jurek1980 napisał(a):
To jeszcze
To jeszcze o o jakim kliencie mowa?
Jedn z gotowym klientów (programów do baz), czy jakiś kod własny