Znaki zapytania zamiast polskich znaków

Znaki zapytania zamiast polskich znaków
SI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 61
0

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?

YA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2398
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?

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3625
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

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.