|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.10.2015, 16:34 | #1 |
Форумчанин
Регистрация: 19.01.2015
Сообщений: 158
|
ODBC Microsoft MS SQL Server 2008. Кодировка
Тема довольно популярная в гугле, но нормальное решение находил для MySQL, а у меня MS SQL. Lazarus-1.4.2, fpc-2.6.4 (последние версии на сегодня) Рабочая станция Windows 7 64 bit.
У самой базы коллейшн Cyrillic_General_CI_AS, тип поля – обычный varchar (не юникод) Выборки через ODBC идут быстро, но русские буквы в Memo отображаются знаками вопросов ????? (в грид выводить не нужно) Где-то нашёл, что для MSSQL, Unicode это значит USC-2 (он же UTF16 little endian), он и хранит и отдает юникодные строки в этом формате. Добавлял параметр charset=USC-2, не помогло. charset=UTF-8 также без результата. Пробовал Regional=Yes и LANGUAGE=Russian, а также выводил в разные Memo c разными кастами (AsVariant и AsWideString) Код:
Последний раз редактировалось SQLPowerUser; 05.10.2015 в 16:37. |
05.10.2015, 17:33 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Для лазаруса это норм. Не стесняйся юзать AnsiToUtf8.
I'm learning to live...
|
05.10.2015, 17:41 | #3 |
Форумчанин
Регистрация: 19.01.2015
Сообщений: 158
|
ОК. Спасибо!
|
05.10.2015, 17:46 | #4 | |
Участник клуба
Регистрация: 10.08.2010
Сообщений: 1,389
|
Цитата:
Тоже не знал, Спасибо Но зачем лазера если есть Delphi
E_MAIL: rijgvina7@yahoo.com
Последний раз редактировалось Stilet; 05.10.2015 в 18:49. |
|
05.10.2015, 18:07 | #5 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
05.10.2015, 18:09 | #6 |
Форумчанин
Регистрация: 19.01.2015
Сообщений: 158
|
>>> если заменить в таблице поля varchar на NVARCHAR ???
Я это тоже пробовал, не помогает... Сейчас тест на скорость забабахал, AnsiToUtf8 работает быстро, проигрыш где-то в 50 ms на 100 тыс. записей с выходной строкой 7 Мб, почти нет проигрыша. >>> Но зачем лазера если есть Delphi Чтоб под Линукс компилить, да и бесплатный |
05.10.2015, 18:21 | #7 | |
Участник клуба
Регистрация: 10.08.2010
Сообщений: 1,389
|
Цитата:
2) "нахаляву" или "не нахаляву" обсудить не буду, так как правило не нарушаем . 3) " официально " Знайте мне документ еще не кто не попросил , Если попросить .! выкрутимся как нибудь
E_MAIL: rijgvina7@yahoo.com
|
|
05.10.2015, 18:27 | #8 | |||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|||
05.10.2015, 18:34 | #9 | ||
Участник клуба
Регистрация: 10.08.2010
Сообщений: 1,389
|
Цитата:
Цитата:
или сразу буду перепостить код на Laserus е
E_MAIL: rijgvina7@yahoo.com
Последний раз редактировалось xxbesoxx; 05.10.2015 в 18:41. |
||
05.10.2015, 18:53 | #10 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Цитата:
Так то вообше можно попробовать один вариант: Сделать новую БД с юникодовой локалью и nchar-полями и туда пересадить данные. Но это морок.
I'm learning to live...
|
|||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Microsoft SQL Server Management Studio 2008 | Guren | Помощь студентам | 2 | 09.01.2013 07:16 |
Microsoft SQL Server Management Studio 2008 | Guren | SQL, базы данных | 0 | 04.01.2013 14:25 |
VS C# 2008 и Microsoft SQL Server 2005 (Ошибка 26) | Fedosss | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 0 | 02.07.2012 16:40 |
Ado + Microsoft sql Server 2008 | crash1986 | БД в Delphi | 5 | 06.07.2011 14:47 |
MS SQL Server 2008 и Visual Studio 2008 C# (Как работать с БД?) | cherw9!40k | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 2 | 14.01.2010 20:51 |