Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
vodolef Member Откуда: Сообщений: 4 |
"Приветствую! Товарищи помогите вот в каком вопросе: Имеется база данных в MSSQL Server 2008, в БД табличка у которой есть поля Eng(Английский) и Cn(Китайский),для этих полей установлены Collation Cyrillic_General_100_CI_AS и Chinese_Hong_Kong_Stroke_90_CI_AS соответственно.В полях хранится набор слов на китайском и английском. Есть тестовая программулька(на Delphi xe3), которая с помощью ADOConnections и Adoquery получает выборку из этой таблицы и загружает их в ListBox. Проблема заключается в том, что китайские иероглифы отображаются в виде вопросов. Если ListBox заполнить иероглифами в design time, то они отображаются корректно. Как сделать, чтобы значения отображались были получены из БД правильно? Это нужно для поддержки многоязычности в другой готовой программе, где все сообщения выдаваемые пользователю хранятся в БД по аналогичному принципу пока только на двух языках русском и английском." |
25 май 17, 10:38 [20510468] Ответить | Цитировать Сообщить модератору |
uaggster Member Откуда: Сообщений: 960 |
vodolef, поля то какие, varchar? nvarchar? И на клиенте в какую строку пихаете? 1 байт на символ? 2 байта на символ? |
25 май 17, 10:46 [20510498] Ответить | Цитировать Сообщить модератору |
cossack5 Member Откуда: Сообщений: 496 |
Collation влияет только на сортировку данных. Поля должны быть NVARCHAR. Иначе проблема в клиенте. P.S. Не знал, что Делфи умеет в иероглифы. |
25 май 17, 12:06 [20510789] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
cossack5, так в дельфах нативная поддержка юникода. |
25 май 17, 12:20 [20510855] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47052 |
Ну, хотя бы проконтролировать, соответствует тип или нет... |
||
25 май 17, 12:23 [20510872] Ответить | Цитировать Сообщить модератору |
vodolef Member Откуда: Сообщений: 4 |
uaggster, varchar |
25 май 17, 12:30 [20510899] Ответить | Цитировать Сообщить модератору |
vodolef Member Откуда: Сообщений: 4 |
iap, начиная с версии 2009 Delphi был переведен на unicode. Соответствие типов проверено. Есть подозрение что проблема в ADO |
25 май 17, 12:33 [20510916] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
vodolef, на сервере должен быть nvarchar для юникода. |
25 май 17, 12:38 [20510944] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
И константы в запросе задавать как N'значение'. |
25 май 17, 12:39 [20510951] Ответить | Цитировать Сообщить модератору |
vodolef Member Откуда: Сообщений: 4 |
Спасибо! Поставит вместо varchar nvarchar и все стало отображаться как надо. |
||
25 май 17, 12:40 [20510958] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |