Проблема сопоставления символов .NET-Informix - PullRequest
0 голосов
/ 18 февраля 2019

У меня очень странная проблема, когда я получаю данные из БД на сервере, получаю неправильное прочтение.Исходное сообщение: Avería resuelta Le comunicamos que la avería registrada en la dirección #DIRECCION# ha sido cerrada #FECHAHORAFIN#.

И сообщение, которое мы получаем на сервере, таково: Aver¡a resuelta Le comunicamos que la aver¡a registrada en la direcci¢n #DIRECCION# ha sido cerrada #FECHAHORAFIN#.

У нас в сообщении есть специальные символы латиницы-1, и мы указываемв строке подключения кодировка выглядит следующим образом: db_locale=es_es.cp1252; client_locale=es_es.cp1252

И странно то, что когда я запускаю (консольное) приложение с моей локальной машины, оно выполняется просто отлично, но когда я запускаю его с сервера, оноплохо распознает символы.

Сервер - Windows Server 2003, а мой локальный компьютер - Windows 10.

Заранее спасибо.

Редактировать: Значение, котороеэтот запрос, SELECT tabname, site FROM systables WHERE tabid IN ( 90, 91 );, следующий:

tabname site GL_COLLATE es_ES.1252 GL_CTYPE es_ES.1252

1 Ответ

0 голосов
/ 18 февраля 2019

Решение было локализовать приложение с текущими настройками культуры

System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("es-ES");
...