Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кодовые страницы [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 такой пробемы не возникает.
Всем заранее спасибо


Наверх

Титульная страница Поиск, карта сайта Написать письмо