Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
PresAlexandr
43 / 43 / 16
Регистрация: 16.05.2009
Сообщений: 372
#1

Очередное несоответствие кодировок

01.02.2012, 14:47. Просмотров 1105. Ответов 7
Метки нет (Все метки)

Всем привет!
Пишу программу на Delphi7+MySQL. Для связи использую ADO.

При отображении выборки вместо русских букв появляются вопросительные знаки.
На MySQL перебирал множество кодировок, но ни одна не работает корректно в программе, хотя в самой базе всё нормально...

Подскажите, пожалуйста, как можно решить данную проблему. Заранее благодарен =)

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2012, 14:47
Ответы с готовыми решениями:

Использование различных кодировок
По умолчанию Windows осуществляет представление данных в текстовых файлах...

Несовпадение кодировок БД и программы
вообщем есть база! Также есть приложение написанное в делфи! в этом приложении...

Один столбец в DBGrid после добавления записи (очередное непонятное поведение)
Здравствуйте! В DBGrid порядка 10 полей. Некоторые из них не видны...

Несоответствие типов данных
После заполнения Editов и нажатия на кнопку "Добавить", возникает ошибка...

Несоответствие типов данных
Посмотрите пожалуйста выбираю из DBGrid данные...

7
rdama
567 / 290 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
01.02.2012, 19:21 #2
Отказаться от ADO.
И использовать полноценные компоненты доступа.
Поищите их много. Что-то платное, что-то нет.
Перейти на более свежие версии Delphi.
Чтоб была возможность использовать utf кодировку.
Для вас это будет плюсом если придется переносить бд в другое окружение.
никсы например. + если проект рабочий а не учебный, то рано или поздно встанет вопрос построения веб интерфейса. И опять же использование utf будет +.
1
PresAlexandr
43 / 43 / 16
Регистрация: 16.05.2009
Сообщений: 372
01.02.2012, 22:54  [ТС] #3
rdama, что посоветуете выбрать?
Я просто раньше серьезно не работал с БД, игрался по чуть-чуть на парах, поэтому сейчас взял первое-стандартное что было в Delphi...
Готов к любым разумным вариантам)
0
rdama
567 / 290 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
02.02.2012, 10:32 #4
Ну в общем есть.
MyDAC, UniDAC, AnyDAC, MicroOLAP MyDAC - это все платное.
С первыми 2-мя работал приятные впечатления.
На просторах нета можно найти. Если проект не подразумевает большой нагрузки то можно пользовать UniDAC, он при больших нагрузках не предсказуем. MyDAC стабильнее. Но это если критично.
Тот что AnyDAC. Смотрел одновременно с UniDAC не впечатлил.
Последний вообще не пробовал. Знаю что есть но возможностей не в курсе.
ZeosDBO - бесплатен. Стабильность как и у всего бесплатного. Неожиданности в поведении тоже.
На XE не релизился, но есть в транках. Качается оттуда, но что сделано и что не доделано ХЗ.
Сам заметил, что абсолютно не видит подключаемые библиотеки для доступа к БД.
Но это в дизайнере. В рантайме проблемы нет.
Поэтому не самое критичное. И вполне поправимое при необходимости.
У многих возникают проблемы при установке. И при неправильном прописывании libpath при сборке приложений пересобирает всю библиотеку. Но это от корявости рук инсталирующего, нежели косяк библиотеки.
А по поводу новых Delphi, ну тут как вам будет угодно.
Но смотрите начиная 2010. Т.е. рассматривайте варианты RAD 2010, RAD XE, RAD XE2.
Исходя из того чтоб были нужные вам компоненты. И есть то на чем вы остановили свой выбор.
Я так сходу предложил бы XE. Есть все из выше перечисленного.
Но если будете брать ZeosDBO тогда лучше 2010 т.к. был альфа релиз хотя бы и по косякам более менее есть инфа.
1
PresAlexandr
43 / 43 / 16
Регистрация: 16.05.2009
Сообщений: 372
02.02.2012, 11:49  [ТС] #5
rdama, буду пробывать ZeosDBO, как заполучу RAD 2010
0
PresAlexandr
43 / 43 / 16
Регистрация: 16.05.2009
Сообщений: 372
06.02.2012, 09:21  [ТС] #6
Итак, установил Delphi 2010, установил ZEOZ 7.0.
Но до сих пор мои запросы возвращают знаки вопроса...

Добавлено через 40 минут
Разобрался... Кому интересно, вот что ещё надо прописать:
Delphi
1
2
3
4
ZQuery1.SQL.Clear;
ZQuery1.SQL.Add('SET NAMES cp1251');
Zquery1.ExecSql;
ZQuery1.Active:=true;
0
MsGuns
535 / 535 / 57
Регистрация: 04.04.2011
Сообщений: 1,998
06.02.2012, 10:42 #7
Оказалось, что АДО-то и не при чем
0
rdama
567 / 290 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
06.02.2012, 10:51 #8
MsGuns, а я не говорил что ADO причем то. Я считаю что он не очень удобен в контексте работы с мускулем. Но это мое видение вопроса. Я считаю что чем меньше зависимостей и отсутствие необходимости проведения подготовительных работ при распространении программы тем меньше ошибок и вопросов.
А при ADO надо ставить драйвер, создавать источник данных.
Я понимаю что все можно сделать программно, но зачем писать лишний код когда можно этого не делать.
В общем зачем усложнять там где можно упростить.
1
06.02.2012, 10:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2012, 10:51

Несоответствие типа в выражении
Мне нужно вывести результат запроса в Label, но при попытке реализовать это...

Access несоответствие типов данных
Добрый день! Помогите разобраться с ошибкой "Несоответствие типов данных в...

Несоответствие типов данных в выражении условия отбора
Доброго времени суток! Делаю отбор данных по дате. БД Аксесс, отбор через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru