Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 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-сайт: sharpc.livejournal.com
 Профиль | | #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-сайт: sharpc.livejournal.com
 Профиль | | #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
Не знаю как и через что вы подключаетесь, но это можно сделать в строке подключения:
tmpConn.ConnectionString = ";DRIVER={MySQL ODBC 3.51 Driver};SERVER=" & tmpIP & ";DATABASE=" & tmpDB & ";UID=" & tmpUSER & ";PWD=" & tmpPASS & ";OPTION=131072;PORT=3306;STMT=SET CHARACTER SET cp1251"

а именно: "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 = ";Driver={MySQL ODBC 3.51 Driver};Server=" & MDIForm1.host & ";Port=" & MDIForm1.port & ";Database=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

Если внимательно посмотреть с помощью программы
"MySQL Query Browser" в какой кодировке создана таблица mysql.user, то ты увидишь - utf8 :-). Как заставить ВБ понимать utf8 - не подскажу, но кажется здесь уже пробегала подобная тема... :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам