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

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

Юникоды и компонент TOracleQuery [D5]


Страницы:   1 2 3

Orxan ©   (2006-08-29 09:35:00) 

Мастера помогите пожалуйста с проблемкой.
БД- оракл 10g, делфи 5, компоненты TntUnicodeControls_2_1_11 и doa.

Данные в таблице содержатся в юникодах. Селектирую из таблицы. понимаю, что

     TntEdit1.Text:=Q.FieldasString('А');

уже не юникод. и выводится знак вопроса в не стандартных символах.
при написании

     TntEdit1.Text:=Q.Field('А');

уже выводится непонятный символ вместо "?".

помогите пожалуйста разрешить проблемку, может ктото встречался.

Спосибо.


Orxan   (2006-08-30 13:11:00) [1]

ANB ©   (30.08.06 09:19) [47]
а мне не русские то буквы нужны. их я без проблем вижу.

Значит просмотрел кодировку каждого символа, который не нормально показывался. Оказалось, что при написании вручную этих символов в TNT цифровой эквивалент отличается от эквивалента, которого я получаю из таблицы. Всего таких символов 8. пришлось написат процедурку, которая заменяет иероглифы на нормальные буквы при выводе в TNT. вроде заработало.
Разницы никакой при использовании адо оли доа компонентов.

Спосибо всем, кто пытался помочь.


ANB   (2006-08-30 12:55:00) [2]

Задача вообщето решается настройкой сессии. В одаке это можно прямо в компоненте TOraSession вроде как все сделать (сам не пользовался, но что то подобное видел). В противном случае клиент будет пытаться сам преобразовывать юникод в строку и обратно.
Для проверки того, что легло в поле, удобно использовать функцию dump.
Кстати, про турецкий язык ничего не увидел :(


Val   (2006-08-30 11:50:00) [3]

>[47] ANB ©   (30.08.06 09:19)
вроде автор упорно хочет увидеть турецкие буквы, а вы ему русскую локаль настраиваете...зачем?


ANB   (2006-08-30 09:19:00) [4]


> AMERICAN_AMERICA.WE8ISO8859P9

Ну дык с такой кодировкой ты никогда русских букв не увидишь.


Anatoly Podgoretsky   (2006-08-29 20:05:00) [5]

sniknik ©   (29.08.06 17:21) [43]
Я использую TNT без проблем


Orxan   (2006-08-29 18:43:00) [6]

> ANB ©   (29.08.06 17:55) [44]
AMERICAN_AMERICA.WE8ISO8859P9


ANB   (2006-08-29 17:55:00) [7]


> Orxan   (29.08.06 17:20) [42]

Ща то какой NLS стоит ?


sniknik   (2006-08-29 17:21:00) [8]

да и кстати, я не в жабе пробовал... и не с ораклом, а в своей тестовой программе c базами акесс, mssql и вроде бы firebird (смутно, tnt стоял очень недолго, фактически, проверил, сразу получилось без проблем и тутже удалил чтобы случайно от него ничего в проекты рабочие не "подцепить", а проверял на всем что под руку попалось в тот момент)


Orxan   (2006-08-29 17:20:00) [9]

Anatoly Podgoretsky ©   (29.08.06 16:49) [37]

AMERICAN_AMERICA.WE8MSWIN1252 этим пробовал


sniknik   (2006-08-29 17:14:00) [10]

> А как по молдавски в тоаде набрать то ?
не знаю... я для проб искал любой "вражеский" сайт на ихних буквах, и копировал через буфер.
пример с сайта TNT приблизительно и отражает что у меня получалось
http://www.tntware.com/delphicontrols/images/UnicodeWindows.gif
(только естесвенно я эти "кракозябры" не подписывал - язык такойто..., достаточно было того, что то что в базу положил то и получил назад)


ANB   (2006-08-29 17:13:00) [11]


> 'set S = N:P'

Не а. Так не жрет.


Anatoly Podgoretsky   (2006-08-29 17:04:00) [12]

ANB ©   (29.08.06 16:56) [38]
Короче - надо N писать перед константой, как это в параметр запихать - х.з., не помню.

Естесвенно, только это гарантирует правильность, а написать примерно так
'set S = N:P'


ANB   (2006-08-29 16:56:00) [13]


> sniknik ©   (29.08.06 16:42) [34]

А как по молдавски в тоаде набрать то ?


> Anatoly Podgoretsky ©   (29.08.06 16:49) [36]

Попробовал на 1250 - коннект прошел, но ничего не сломалось.

Короче - надо N писать перед константой, как это в параметр запихать - х.з., не помню. Есть смысл сходить на SQL.RU и поспрошать тамошних знатоков.

Автор - проведи эксперимент по образцу и подобию. И запости результат.


Anatoly Podgoretsky   (2006-08-29 16:49:00) [14]

Orxan   (29.08.06 16:44) [35]
Тебе доверия нет.


Anatoly Podgoretsky   (2006-08-29 16:49:00) [15]

ANB ©   (29.08.06 16:34) [33]
Ну тебе не повезло, а если бы смог, то Петю бы не увидел.


Orxan   (2006-08-29 16:44:00) [16]

на 1252 пробовал, тоже самое получилось


sniknik   (2006-08-29 16:42:00) [17]

> Жрет и васю и петю и показывает все по русски.
а теперь, на бис, то же самое для молдавского/грузинского/любого какой найдеш но не русского языка! (и не английского. знаем вас...)
;о))


ANB   (2006-08-29 16:34:00) [18]

попробовал - не могу законнектится :)


Anatoly Podgoretsky   (2006-08-29 16:28:00) [19]

Конечно в Юникоде, не не может запрос изменить тип поля.
Второй запрос гарантирует правильность, а вот первый нет, будет зависить от текущей локализации. Попробуй установи кодовую кодировку для клиента отличной от русской, например 1252 и повтори эксперимент.


ANB   (2006-08-29 16:27:00) [20]

Вру - эсперимент это я провел на 9.2. Запутался я с нашими серваками.


Страницы:   1 2 3

Наверх

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