![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кодовые страницы [D7, Win2k]
quick_sneek © (2005-08-22 22:16:00)Платформа - windows 2000 pro. В regional settings стоит настройка English (United Kindom). Default - Russian.
Используется СУБД MSSql Server. База данных создана с collation Cyrrilic General.
При попытке записи русской строки в базу данных - в таблицу попадает абра-кадабра. Перепробовал различные Collation в настройках SQl Server- ни какой реакции. Использовал unicode типы полей таблиц - не помогло.
Если переключить Regional Settings на Russian - все начинает нормально работать.
Кто-нибудь знает, как с подобными вещами бороться?
Anatoly Podgoretsky (2005-08-26 13:03:00) [1]quick_sneek (23.08.05 22:24) [6]
Что такое unicode компоненты?
Компоненты, которые работают с Юникод (Дельфи не работают), то есть вообще без понятия кодировка.
И как настраивать региональные установки из Delphi?
А вот это не надо делать, за это бьют и сильно. Пользователь должен сам их изменить - явно!. А то ты таких делов натворишь.
dmitry501 (2005-08-26 08:08:00) [2]У пользователя, которым коннектишься к SQLSERVER укажи defaul language - Russian и используй nvachar
на ходу можно попробовать
exec sp_configure 'default language', 2
reconfigure
quick_sneek (2005-08-26 07:47:00) [3]Друзья!
Неужели никто так и не ответит?
quick_sneek (2005-08-23 22:24:00) [4]Что такое unicode компоненты? И как настраивать региональные установки из Delphi?
Anatoly Podgoretsky (2005-08-23 20:55:00) [5]Еще раз, используй Юникод компоненты или настраивай региональные настройки под программу, что не всегда возможно.
quick_sneek (2005-08-23 19:49:00) [6]Для доступа использую ADO компоненты.
>но дельфевый VCL юникод не понимает, надо доп. компоненты >использовать
Дело в том, что я пробовал жестко прописывать в коде вставку строки, так что визуальные компоненты здесь вряд ли играют роль
Неужели никак нельзя обойти это??? Может быть надо в windows секциях реестра что поменять? Ведь ситуация буквально бредовая
sniknik (2005-08-23 00:35:00) [7]> Использовал unicode типы полей таблиц - не помогло.
типы в базе это хорошо, но дельфевый VCL юникод не понимает, надо доп. компоненты использовать (tnt к примеру) это если хочеш чтобы с клиента строка в юникоде посылалась не конвертируясь (а то какая разница что в базе если с клиента исковерканное приходит). и кстати метод доступа? BDE его(юникод) тоже не понимает.
Alexander Panov (2005-08-22 22:28:00) [8]Попробуй на станции на всякий случай вот эти ключи:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\DB-Lib]
"AutoAnsiToOem"="ON"
"UseIntlSettings"="ON"
quick_sneak (2005-08-22 22:25:00) [9]Забыл упомянуть, что записать строчку я пытаюсь из Delphi. :)
Причем совершенно неважно, вводиться ли строка в визуальный компонент или прописана жестко в коде.
При работе через Enterprise management console такой пробемы не возникает.
Всем заранее спасибо