|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
Возникла такая проблема, не могу решить самостоятельно... Кто сталкивался - помогите пожалуйста! Есть база на MySQL 5 с colation CP1251_general и клиентская часть на VFP9 с CodePage 1251 . Соединение устанавливается через ODBC. При передаче текстовых данных на русском языке имеем в MySQL содержимое вида ??????? . Если загружать данные в базу другим способом, например через импорт данных из тестового файла .CSV в phpMyAdmin, то все загружается нормально. В файле my.ini в клиентской и серверной частях установлено по дефолту cp1251 . Понимаю, что проблема в различии кодировок в MySQL и VFP9, но не могу понять, как это исправить... Заранее благодарен. P.S.: пол дня мучал данный форум, так ничего и не нашел по данной проблеме. Есть что-то похожее, но все равно не то... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2006, 15:58 |
|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
Может, в устаревшем драйвере дело ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2006, 19:13 |
|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
Немного соврал - версия MySQL 4.1.12a ... Драйвер ODBC вроде бы самый последний, т.к. на сайте выложена версия Connector/ODBC 3.51. Есть еще Connector/ODBC 5.0 -- Alpha release, но как-то не хочется альфу использовать... Вообще все установлено с пакетом AppServ 2.5.4a Packages и состав компонентов следующий: Apache 2.0.54 MySQL 4.1.12a PHP 5.0.4 phpMyAdmin-2.6.2pl1 MyODBC-3.51.11-2 Есть еще какие-нибудь мысли у кого-нибудь? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2006, 05:27 |
|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
Все! Проблема решена! Вот хорошее объяснение моей проблемы - http://www.sql.ru/forum/actualthread.aspx?tid=204795#2427181 В моем случае потребовалось перед началом передачи данных выполнить следующее: StrSQL = "set character_set_client=cp1251;" SQLEXEC(nConnect,StrSQL) StrSQL = "set character_set_connection=cp1251;" SQLEXEC(nConnect,StrSQL) StrSQL = "set character_set_results=cp1251;" SQLEXEC(nConnect,StrSQL) После чего передача данных происходит корректно... Удачи всем! ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2006, 06:42 |
|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
Давно не поднималась эта тема! Всем привет! Столкнулся с аналогичной проблемой, но никак её не поборю. На удаленном хостинге logol.ru, поднят MySql, у меня на машине Fox 9. Соединение с базой осуществляю через пользовательский источник данных DSN. D В confige CODEPAGE=1251. Соединение устанавливается, делаю пробную выборку из тестовой таблицы, получаю знаки вопросов вместо русских символов. PUBLIC hConn STORE SQLCONNECT('odbc_point', '', '') TO hConn IF hConn <= 0 MESSAGEBOX('') RETURN .f. ELSE ENDIF textcommand=; "select * "+; "from tb_test " nerr = SQLEXEC(hConn, textcommand, 'vw_test') Пробовал выше указанное решение автора топика, не помогло? Подскажите, где почитать про это есть или что мне испробовать? Fox только установил, может где то какую изюминку забыл в настройках? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2013, 08:56 |
|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
Подцепляюсь к базе через мускул воркбенч последней версии что на офсайте, естественно всё отлично показывает, никаких проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2013, 09:00 |
|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
ilsidore, set names cp1251 не выполняли? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2013, 12:22 |
|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
Попробовал так: StrSQL = "set names cp1251;" SQLEXEC(hConn,StrSQL) На примере топикстартера, не помогло или не правильно что делаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2013, 22:53 |
|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
PUBLIC pConect lcDRIVER = "MySQL ODBC 5.2w Driver" lcUID = "****" lcSTMT = "set names cp1251" lcOPTION = "3" lcSOCKET = "" lcPORT = "3306" lcPASSWORD = "admin" lcSERVER = "*************" lcDB = "************" lcDESC ="" lcODBC = '"DRIVER='+lcDRIVER+';UID='+lcUID+';STMT='+lcSTMT+';OPTION='+lcOPTION+';SOCKET='+lcSOCKET+';PORT='+lcPORT+';PASSWORD='+lcPASSWORD+';SERVER='+lcSERVER+';DB='+lcDB+';DESC='+lcDESC+'"' lnOk = SQLSetProp(0,"DispLogin",3) pConect = SQLSTRINGCONNECT(&lcODBC) попробовал так. Выполняю запрос по прежнему знаки вопросов вместо русских бука. Форум уже перерыл весь, проблема видимо не новая, но из всех объяснений не понял как решить проблему ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2013, 23:53 |
|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
Надо форум по MySQL смотреть. Здесь-то какой смысл? Тем более, многое зависит еще и от версии MySQL. Вот здесь достаточно подробно все расписано FAQ: Проблемы с кодировкой в MySQL версий 4.1+ Ну, еще здесь можно посмотреть Проблемы русской кодировкой ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2013, 11:41 |
|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
Владимир спасибо за ссылки, теперь хоть имею небольшое представление в этих кодировках. Но с задачей по прежнему не справился! Создал на удаленном мускуле табличку тестовую, table1, задал ей collation cp1251-default collation. В таблице одно поле name? вбиваю значение -Вова, цепляюсь через тестовую прогу из фокса, создаю запрос и по прежнему вопросы вместо русских символов. запросил show create table вот что выдал 'table1', 'CREATE TABLE `table1` (\n `name` varchar(10) DEFAULT NULL\n) ENGINE=MyISAM DEFAULT CHARSET=cp1251'. Что ещё я мог упустить? В файле config.fpw CODEPAGE=1251. Пробовал set names cp1251; безрезультатно... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 02:22 |
|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
ilsidoreПробовал set names cp1251; безрезультатно...Потому что надо было Код: sql 1.
если ничего не получается, прочитайте, в конце концов, ртфм по синтаксису используемых команд :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 08:34 |
|
Проблема: VFP -> MySQL = ????
|
|||
---|---|---|---|
#18+
ilsidore, Согласно документации на драйвер ( http://dev.mysql.com/doc/refman/5.1/en/connector-odbc-configuration-connection-parameters.html) , для указания кодировки рекомендуется использовать параметр charset (см.пример - http://www.connectionstrings.com/mysql) В примечании сказано - указывать кодировку в нижнем регистре Параметр stmt строки инициализации после версии 3.51 заменен на initstmt , хотя должна обеспечиваться обратная совместимость. И еще, с драйвером версии 5.2w работать не приходилось, но для 3.51 и 5.1 проблем с кодировкой не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 14:43 |
|
|
start [/forum/topic.php?fid=41&msg=33703002&tid=1583130]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 144ms |
0 / 0 |