русские буквы в MySql

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
WPAP
Новичок
Сообщения: 12
Зарегистрирован: 25 Март 2008, 0:04

русские буквы в MySql

Сообщение WPAP »

Я выбился из сил!
Нужна помощь.
Среда: Clarion 6.2, Mysql 5.1, mysql-connector-odbc-3.51.27-win32.
Проблема: Имеются две таблицы связанные по текстовому полю как 1 к многим.
Все манипуляции с этими таблицами проходят нормально.
Если в одном окне, таблицы отображаются как два связанных Browse, то при наличии в текстовом поле ведущей таблицы русской маленькой буквы "я" возникает ошибка SQL или в лучшем случае нарушается связь между таблицами и во второй таблице ничего не отображаестя.
Вдруг кто-нибудь знает что это такое.
wpap@yandex.ru
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Re: русские буквы в MySql

Сообщение lsgsoftware »

1.Ну во-первых, ты "грубо нарушил" принципы проектирования таблиц и отошел
от принципа нормальных форм - не рекомендуется использовать в качестве внешних ключей
текстовые поля
2.Есть ли у тебя в Create Table такая строка
ENGINE=InnoDB DEFAULT CHARSET=latin1
Известно, что MYSQL имеет свои заморочки с кодировкой
3. А известный баг в Ексель - когда цифра 4 в ячейке отображается как 4 фев - рекомендуют
вводит 04
4. А точного ответа я не знаю.Если использовать свободный(старый) графический монитор,
то русские текстовые поля отображаются нормально. А если использовать их последний, то
без CHARSET=latin1 отображаются кракозябры.
WPAP
Новичок
Сообщения: 12
Зарегистрирован: 25 Март 2008, 0:04

Re: русские буквы в MySql

Сообщение WPAP »

Спасибо за ответ.
Иногда бывает необходимо нарушить нормальную форму .
Ваши рекомендации к сожалению не помогли.
Может быть решение проблемы лежит там же где лежит ответ на вопрос : почему, если в заголовке окна в кларионовской программе среди других букв встречается буква "я" то в тексте программы Кларион ее предстваляет в отличии от других букв как <255> QWindow WINDOW('Абвгдежз... <255>'),AT( ...
Дело в том, что если исследовать ODBC Log-Файл среди прочих символов в тексте сгенерированного кларионом SQL предложения, только буква "я" встречается в таком виде <255> и понятно что эти значки нарушают синтаксис SQL. Так что проблема может быть кларионовская а не MySQL
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Re: русские буквы в MySql

Сообщение lsgsoftware »

В догонку. Проблемы с буквой я возникали при тестах С7. См. соответствующую ветку
"мелкие пакости ..." в форуме.
Уже есть более новый драйвер ОДБС - скачай. Я с ним уже довольно давно работаю.Вроде
получше будет.
Из таких ситуаций, когда припирает, я выхожу по-ламерски. Замени ты Я в базе на какой-нибудь
спецсимвол(для ключа), а при выводе опять меняй на Я. Грубо конечно, но ведь это выход
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Re: русские буквы в MySql

Сообщение Алексей- Софт-Центр »

Кстати про новый драйвер ODBC - 5.1.5. Не подскажите, где в нем указывается команда при инициализации. В 3-ем драйвере есть окошечко, а в 5 - нет.
Мне туда , ну очень, надо записать set names cp1251 ?
Только из-за этого не перехожу на 5 -й драйвер )))
БАИ
Посетитель
Сообщения: 25
Зарегистрирован: 09 Октябрь 2009, 13:05

Re: русские буквы в MySql

Сообщение БАИ »

Алексей- Софт-Центр писал(а):Кстати про новый драйвер ODBC - 5.1.5. Не подскажите, где в нем указывается команда при инициализации. В 3-ем драйвере есть окошечко, а в 5 - нет.
Мне туда , ну очень, надо записать set names cp1251 ?
Только из-за этого не перехожу на 5 -й драйвер )))
в ноябре появился myodbc5,1,6 в нем вернули наше окошко, и отдельно есть дропбокс для выбора кодировки. сегодня провел стыковку с mysql5.1(база в cp1251), граблей пока не заметил. Через конекшн стринг кодировка задается как и в 3,1
WPAP писал(а):Я выбился из сил!
Нужна помощь.
Среда: Clarion 6.2, Mysql 5.1, mysql-connector-odbc-3.51.27-win32.
Проблема: Имеются две таблицы связанные по текстовому полю как 1 к многим.
Все манипуляции с этими таблицами проходят нормально.
Если в одном окне, таблицы отображаются как два связанных Browse, то при наличии в текстовом поле ведущей таблицы русской маленькой буквы "я" возникает ошибка SQL или в лучшем случае нарушается связь между таблицами и во второй таблице ничего не отображаестя.
Вдруг кто-нибудь знает что это такое.
wpap@yandex.ru
Напоролся на эту же "я" но в фильтре(setfilter), можно обойти, если связь делать вручную как-то так:
поле1=unquote(поле2)
или(не помню разницу)
поле1=quote(поле2)
Ответить