Страница: 1 |
Страница: 1 |
Вопрос: Mysql, driver 3.51 - глюки
Добавлено: 03.04.07 11:32
Автор вопроса: vlas
Поставил майскуль 5.0.18 и драйвер ODBC 3.51.14, конекчусь к базе, к стандартной таблице user, конект нормальный, но данные которые выдает это полный бред:
по полям user и host получаем такое:
user | host |
-------------|
?? | % |
-------------|
?? | 潬慣桬獯t |
-------------|
хотя реально там:
user | host |
-----------------|
root | % |
-----------------|
root | localhost |
-----------------|
Пробовал ставить скуль 4.0.18 и 2.5 драйвер, все гуд...
Но факт остается фактом и хотелось бі уже 5-й скуль юзать
Прошу высказываться... мож у кого такое было, как решить?
Заранее благодарен...
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 03.04.07 18:41
Выбери правильную кодировку - он у тебя воспринимает однобайтовые данные, как двухбайтовые.
Номер ответа: 2
Автор ответа:
vlas
Вопросов: 11
Ответов: 8
Профиль | | #2
Добавлено: 04.04.07 10:18
to Sharp
пробовал менять кодировки, я так понимаю в скуле менять, ставил и стандартную и cp1250, koi8r, latin1 - все тоже саме... Может есть еще какие предложения...
Заранее благодарен...
Номер ответа: 3
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 04.04.07 21:33
Нет, менять надо в клиенте
Номер ответа: 4
Автор ответа:
vlas
Вопросов: 11
Ответов: 8
Профиль | | #4
Добавлено: 05.04.07 12:35
to Sharp
А можно по-подробнее, а тоя что-то не нахожу Заранее спасибо...
Номер ответа: 5
Автор ответа:
Igor
Вопросов: 6
Ответов: 12
Профиль | | #5
Добавлено: 05.04.07 14:08
Не знаю как и через что вы подключаетесь, но это можно сделать в строке подключения:
а именно: "STMT=SET CHARACTER"
Номер ответа: 6
Автор ответа:
vlas
Вопросов: 11
Ответов: 8
Профиль | | #6
Добавлено: 05.04.07 16:10
не помогает , злюсь...
но во всяком случае, спасибо за помощь...
Номер ответа: 7
Автор ответа:
Igor
Вопросов: 6
Ответов: 12
Профиль | | #7
Добавлено: 05.04.07 17:24
Напишите код, которым вы подключаетесь к базе. Кодировка таблицы должна быть установлена ДО того как вы занесете туда данные. Т.е. сначала создаем, базу, затем таблицу, при создании указываем необходимую кодировку, а затем пробуем прочитать данные.
Номер ответа: 8
Автор ответа:
vlas
Вопросов: 11
Ответов: 8
Профиль | | #8
Добавлено: 05.04.07 17:44
При установке mysql создается стандартная база данных с именем mysql и стандартными таблицами доступа, user, db и т.д.
В коде так:
Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset
cn.ConnectionString = "river={MySQL ODBC 3.51 Driver};Server=" & MDIForm1.host & ";Port=" & MDIForm1.port & "atabase=mysql;User=" & MDIForm1.user & ";Password=" & MDIForm1.pass & ";Option=131072;STMT=SET CHARACTER SET cp1251;"
cn.Open
Set rs = New ADODB.Recordset
With rs
.ActiveConnection = MDIForm1.cn
.CursorLocation = adUseClient
.CursorType = adOpenForwardOnly
End With
rs.Open "SELECT User, Host FROM user;", , adOpenKeyset, adLockOptimistic, adCmdText
...
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
Номер ответа: 9
Автор ответа:
Igor
Вопросов: 6
Ответов: 12
Профиль | | #9
Добавлено: 06.04.07 11:28
Если внимательно посмотреть с помощью программы
"MySQL Query Browser" в какой кодировке создана таблица mysql.user, то ты увидишь - utf8 . Как заставить ВБ понимать utf8 - не подскажу, но кажется здесь уже пробегала подобная тема...