Я выбился из сил!
Нужна помощь.
Среда: Clarion 6.2, Mysql 5.1, mysql-connector-odbc-3.51.27-win32.
Проблема: Имеются две таблицы связанные по текстовому полю как 1 к многим.
Все манипуляции с этими таблицами проходят нормально.
Если в одном окне, таблицы отображаются как два связанных Browse, то при наличии в текстовом поле ведущей таблицы русской маленькой буквы "я" возникает ошибка SQL или в лучшем случае нарушается связь между таблицами и во второй таблице ничего не отображаестя.
Вдруг кто-нибудь знает что это такое.
wpap@yandex.ru
русские буквы в MySql
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Ветеран
- Сообщения: 311
- Зарегистрирован: 08 Июль 2005, 22:04
Re: русские буквы в MySql
1.Ну во-первых, ты "грубо нарушил" принципы проектирования таблиц и отошел
от принципа нормальных форм - не рекомендуется использовать в качестве внешних ключей
текстовые поля
2.Есть ли у тебя в Create Table такая строка
ENGINE=InnoDB DEFAULT CHARSET=latin1
Известно, что MYSQL имеет свои заморочки с кодировкой
3. А известный баг в Ексель - когда цифра 4 в ячейке отображается как 4 фев - рекомендуют
вводит 04
4. А точного ответа я не знаю.Если использовать свободный(старый) графический монитор,
то русские текстовые поля отображаются нормально. А если использовать их последний, то
без CHARSET=latin1 отображаются кракозябры.
от принципа нормальных форм - не рекомендуется использовать в качестве внешних ключей
текстовые поля
2.Есть ли у тебя в Create Table такая строка
ENGINE=InnoDB DEFAULT CHARSET=latin1
Известно, что MYSQL имеет свои заморочки с кодировкой
3. А известный баг в Ексель - когда цифра 4 в ячейке отображается как 4 фев - рекомендуют
вводит 04
4. А точного ответа я не знаю.Если использовать свободный(старый) графический монитор,
то русские текстовые поля отображаются нормально. А если использовать их последний, то
без CHARSET=latin1 отображаются кракозябры.
Re: русские буквы в MySql
Спасибо за ответ.
Иногда бывает необходимо нарушить нормальную форму .
Ваши рекомендации к сожалению не помогли.
Может быть решение проблемы лежит там же где лежит ответ на вопрос : почему, если в заголовке окна в кларионовской программе среди других букв встречается буква "я" то в тексте программы Кларион ее предстваляет в отличии от других букв как <255> QWindow WINDOW('Абвгдежз... <255>'),AT( ...
Дело в том, что если исследовать ODBC Log-Файл среди прочих символов в тексте сгенерированного кларионом SQL предложения, только буква "я" встречается в таком виде <255> и понятно что эти значки нарушают синтаксис SQL. Так что проблема может быть кларионовская а не MySQL
Иногда бывает необходимо нарушить нормальную форму .
Ваши рекомендации к сожалению не помогли.
Может быть решение проблемы лежит там же где лежит ответ на вопрос : почему, если в заголовке окна в кларионовской программе среди других букв встречается буква "я" то в тексте программы Кларион ее предстваляет в отличии от других букв как <255> QWindow WINDOW('Абвгдежз... <255>'),AT( ...
Дело в том, что если исследовать ODBC Log-Файл среди прочих символов в тексте сгенерированного кларионом SQL предложения, только буква "я" встречается в таком виде <255> и понятно что эти значки нарушают синтаксис SQL. Так что проблема может быть кларионовская а не MySQL
-
- Ветеран
- Сообщения: 311
- Зарегистрирован: 08 Июль 2005, 22:04
Re: русские буквы в MySql
В догонку. Проблемы с буквой я возникали при тестах С7. См. соответствующую ветку
"мелкие пакости ..." в форуме.
Уже есть более новый драйвер ОДБС - скачай. Я с ним уже довольно давно работаю.Вроде
получше будет.
Из таких ситуаций, когда припирает, я выхожу по-ламерски. Замени ты Я в базе на какой-нибудь
спецсимвол(для ключа), а при выводе опять меняй на Я. Грубо конечно, но ведь это выход
"мелкие пакости ..." в форуме.
Уже есть более новый драйвер ОДБС - скачай. Я с ним уже довольно давно работаю.Вроде
получше будет.
Из таких ситуаций, когда припирает, я выхожу по-ламерски. Замени ты Я в базе на какой-нибудь
спецсимвол(для ключа), а при выводе опять меняй на Я. Грубо конечно, но ведь это выход
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Re: русские буквы в MySql
Кстати про новый драйвер ODBC - 5.1.5. Не подскажите, где в нем указывается команда при инициализации. В 3-ем драйвере есть окошечко, а в 5 - нет.
Мне туда , ну очень, надо записать set names cp1251 ?
Только из-за этого не перехожу на 5 -й драйвер )))
Мне туда , ну очень, надо записать set names cp1251 ?
Только из-за этого не перехожу на 5 -й драйвер )))
Re: русские буквы в MySql
в ноябре появился myodbc5,1,6 в нем вернули наше окошко, и отдельно есть дропбокс для выбора кодировки. сегодня провел стыковку с mysql5.1(база в cp1251), граблей пока не заметил. Через конекшн стринг кодировка задается как и в 3,1Алексей- Софт-Центр писал(а):Кстати про новый драйвер ODBC - 5.1.5. Не подскажите, где в нем указывается команда при инициализации. В 3-ем драйвере есть окошечко, а в 5 - нет.
Мне туда , ну очень, надо записать set names cp1251 ?
Только из-за этого не перехожу на 5 -й драйвер )))
Напоролся на эту же "я" но в фильтре(setfilter), можно обойти, если связь делать вручную как-то так:WPAP писал(а):Я выбился из сил!
Нужна помощь.
Среда: Clarion 6.2, Mysql 5.1, mysql-connector-odbc-3.51.27-win32.
Проблема: Имеются две таблицы связанные по текстовому полю как 1 к многим.
Все манипуляции с этими таблицами проходят нормально.
Если в одном окне, таблицы отображаются как два связанных Browse, то при наличии в текстовом поле ведущей таблицы русской маленькой буквы "я" возникает ошибка SQL или в лучшем случае нарушается связь между таблицами и во второй таблице ничего не отображаестя.
Вдруг кто-нибудь знает что это такое.
wpap@yandex.ru
поле1=unquote(поле2)
или(не помню разницу)
поле1=quote(поле2)