Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.05;
Скачать: CL | DM;

Вниз

Как в ADOConnection1.ConnectionString указать для русских букв   Найти похожие ветки 

 
Раиса ©   (2008-08-08 13:23) [0]

Я не использую заранее создаваемый источник данных DSN. На машине под ХР в ADOConnection1.ConnectionString  кодировку не указывала и русские буквы из базы отображались (в DBGrid). А под Вистой вместо русских букв кракозябры (в DBGrid).

Нашла ссылку
http://www.connectionstrings.com/?carrier=mysql

но строка типа Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;CharSet =UTF8;
(вместо UTF8 сз1251) ни к чему не привела.

В my.ini вроде всё прописано. БД на локальных компах.

Как правильно указать кодировку в ADOConnection1.ConnectionString ?


 
stas ©   (2008-08-08 13:32) [1]

Я яе-то непонял, вам надо чтобы в ConnectionString были русские буквы или отображать данные, которые в базу введены?


 
stas ©   (2008-08-08 13:34) [2]

Какая СУБД.


 
alex-drob ©   (2008-08-08 13:35) [3]

> [1] stas ©   (08.08.08 13:32)


смотри


> А под Вистой вместо русских букв кракозябры (в DBGrid).


 
Раиса ©   (2008-08-08 13:35) [4]

вместо русских букв кракозябры (в DBGrid).

Мне кажется, что указывать надо в ADOConnection1.ConnectionString, но пример с указанной ссылкой не помогает.


 
stas ©   (2008-08-08 13:52) [5]

Раиса ©   (08.08.08 13:35) [4]
какая СУБД???


 
Плохиш ©   (2008-08-08 13:55) [6]


> stas ©   (08.08.08 13:52) [5]

> какая СУБД???

Читать не умеешь?


 
Johnmen ©   (2008-08-08 13:58) [7]


> Плохиш ©   (08.08.08 13:55) [6]
> Читать не умеешь?

Ну зачем так со школьниками?
Он же и математику не знает, и геометрию. Но научится, дайте срок. Побольше...


 
Игорь Шевченко ©   (2008-08-08 14:58) [8]

Висту снести не предлагать ?


 
Раиса ©   (2008-08-08 15:20) [9]

Игорь Шевченко ©   (08.08.08 14:58) [8]
У юзеров? И купить им все лицензионный ХР? :)
Суть-то: чтоб и в ХР, и в Висте работало.
Программа и работает, если настроить источник данных, но этого тоже не надо предлагать.


 
sniknik ©   (2008-08-08 15:44) [10]

> У юзеров? И купить им все лицензионный ХР? :)
"даунгрейд" вреде бесплатен.

> Программа и работает, если настроить источник данных
когда подключаешь мастером и выбираешь "использовать строку подключения" (кнопка "сборка" рядом) то при выборе рабочего DSN он обычно переносит параметры в строку... остается только заменить имя DSN на драйвер и рабочая строка готова.
если не переносит, то это грустно но в принципе драйвер это делать не обязан, если же все перенесло но не работает, то вывод - "внешние" параметры не используются драйвером... это баг, драйвер нужно менять.


 
alex-drob ©   (2008-08-08 15:45) [11]

> Программа и работает, если настроить источник данных, но
> этого тоже не надо предлагать.

То есть если настроить то всё работает, но настраиать нельзя, я правильно понял?


 
Раиса ©   (2008-08-08 16:15) [12]

sniknik ©   (08.08.08 15:44) [10]

Переносит, но не всё.
Provider=MSDASQL.1;Password=1;Persist Security Info=True;User ID=root;Data Source=fishery_local
Не хватает то чего надо: set names cp1251

Это для 3.51.12. Остальные 22 и 23 я не смотрела - переносят или нет. Но просто так тоже не работают. Я их тоже ставила

alex-drob ©   (08.08.08 15:45) [11]
Поняли правильно: программа должна работать без установки источника данный, коннект через строку подключения. И еще раз повторюсь: в Окнах ХР работает.


 
sniknik ©   (2008-08-08 16:24) [13]

> Переносит, но не всё.
не на ту кнопку жмешь... (использовать имя источника данных) судя по характеру составленной строки.


 
Раиса ©   (2008-08-08 16:27) [14]

sniknik ©   (08.08.08 16:24) [13]  
А где та кнопку, на которую надо жать? Жму в Дельфях в ADOConnection...


 
sniknik ©   (2008-08-08 16:30) [15]

> Жму в Дельфях в ADOConnection...
это вызов мастера. в нем и кнопки. именно про него написано. читай.


 
Раиса ©   (2008-08-08 16:44) [16]

Я вроде так и делаю, а на выходе строка как написано выше:(08.08.08 16:15) [12]
Если через сборку, то вообще всё подвисает (и в ХР. и в Висте).
И ничего там нету про 1251...


 
sniknik ©   (2008-08-08 16:56) [17]

> Если через сборку, то вообще всё подвисает (и в ХР. и в Висте).
не должно. проверь с другими драйверами (необязательно mysql, например с access (наверняка есть)).
может это таже проблема, только с другой стороны.

> И ничего там нету про 1251...
а чего ты там про него ждешь, хелпа чтоли?
максимум параметр CharSet инициализируется, и вообще откуда оно там будет, если "вообще всё подвисает"??? или всетаки строку получить удается?


 
Раиса ©   (2008-08-08 17:01) [18]

Подвисает-подвисает на двух компах пробовала. Жду CharSet типа 1251 (не хелпа, естественно).
Строку не удалось получить ни на одном компе. Но надо через "сборку"?
Еще дома проверю. Спасибо. И с версиями коннектора проверю (у меня есть 12, 22,23)


 
sniknik ©   (2008-08-08 17:52) [19]

> Но надо через "сборку"?
не самоцель. метод только для того, чтобы гарантированно правильно перенести параметры из того, что работает в то, что у тебя самому составить не получается.
т.к.
> Программа и работает, если настроить источник данных


 
Раиса ©   (2008-08-08 19:06) [20]

sniknik ©   (08.08.08 17:52) [19]
Все верно. Понятно, что не "надо", а "можно".
Через "сборку" для Мускула (коннектор 3.51.12) зависает и на домашнем компе. Для  Access "сборка" выдает строку.  
А так хочется вставить строку с charset и чтобы она работала. Не знаю, что и делать.


 
palva ©   (2008-08-08 23:01) [21]

Я когда-то пробовал сделать по документации
http://dev.mysql.com/doc/refman/5.1/en/myodbc-configuration-connection-parameters.html
Кодировку нужно указать в файле my.cnf
В строке соединения при помощи option нужно указать, что ODBC должно использовать my.cnf
option=65536  (это FLAG_USE_MYCNF)
Куда я помещал на клиенте файл my.cnf - уже не помню, но по тем же принципам, где этот файл размещается на сервере. У меня заработало.

Только это было давно, и я использовал версию 5.0. Кроме того, возможно, я не понял ваш вопрос.


 
Раиса ©   (2008-08-09 00:16) [22]

palva ©   (08.08.08 23:01) [21]
Это или не то, не знаю, но почитала типа. Увидела "charset   The character set to use for the connection. Added in 3.51.17. ". Значит, и не надо было пробовать 3.51.12. Спасибо.

Установила 3.51.23. Через "сборку" (не зависла!!!) увидела знакомые цифирки STMT=set names cp1251 (а я-то вставляла как в примере CharSet=...). Попробую в понедельник вставить в строку с ADOConnection1.ConnectionString, а то дома нету Висты (а в ХР и так работает). Если интересно, то сообщу о результате (надеюсь и мечтаю о положительном исходе).  

За советы спасибо БОЛЬШОЕ sniknik ©.


 
Раиса ©   (2008-08-11 23:54) [23]

Под Вистой получилось путем добавления в строку ADOConnection1.ConnectionString найденного STMT=set names cp1251   (нету кракозябров в строке DBGrid-а).  А под ХР и без указания кодировки работает. Версия коннектора 3.51.23 была взята.



Страницы: 1 вся ветка

Текущий архив: 2009.04.05;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.016 c
3-1218250808
belmol
2008-08-09 07:00
2009.04.05
сопоставить запрос с 2-х разных баз


15-1233422138
blackman
2009-01-31 20:15
2009.04.05
Отстал от жизни.


2-1234347557
SingleStranger
2009-02-11 13:19
2009.04.05
Динамический массив структур (record) как свойство класса.


15-1233817174
Slider007
2009-02-05 09:59
2009.04.05
С днем рождения ! 4 февраля 2009 среда


3-1217909603
Viod
2008-08-05 08:13
2009.04.05
Обработка исключений ADOConnection