Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Конвертация 1251 - UTF8 / 8 сообщений из 8, страница 1 из 1
27.08.2008, 14:07
    #35508574
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертация 1251 - UTF8
Есть сторонний MySQL 5.0 - UTF 8
Я на VFP9.1 через ODBC-5.1.4 подсоединяюсь

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
lcDRIVER = "MySQL ODBC 5.1 Driver"
lcUID = "ххххххххххххх"
lcSTMT = ""
lcOPTION = "3"
lcSOCKET = ""
lcPORT = "хххх"
lcPASSWORD = "хххххххххх"
lcSERVER = "ххх.ххх.ххх.ххх"
lcDB = "basa"
lcDESC =""

lcODBC = '"DRIVER='+lcDRIVER+';UID='+lcUID+';STMT='+lcSTMT+';OPTION='+lcOPTION+';SOCKET='+lcSOCKET+';PORT='+lcPORT+';PASSWORD='+lcPASSWORD+';SERVER='+lcSERVER+';DB='+lcDB+';DESC='+lcDESC+'"'

lnHandle = SQLSTRINGCONNECT(&lcODBC)

(спасибо участникам этого форума, через настройки ODBC подсоединиться не удалось)

При выполнении команды

Код: plaintext
SQLEXEC(lnHandle, "INSERT INTO s_in (c_name) VALUES (?a_in.cKod)")

На сервере мусор

Код: plaintext
SQLEXEC(lnHandle, "SELECT * FROM s_in", "b_in")

в поле c_name вопросики

Попытка выполнить команду

Код: plaintext
SQLEXEC(lnHandle, "SET NAMES cp1251")

возращает, что ODBC не может выполнить такую команду

Что делать?
...
Рейтинг: 0 / 0
27.08.2008, 14:56
    #35508744
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертация 1251 - UTF8
Конвертация строки между 1251 и UTF8 возможна с помошью функции STRCONV()

Конвертировать автоматом между 1251 и UTF8 думаю фокс не умеет. Но конвертировать результат каждого запроса не совсем интересное занятие, хотя можно одну универсальную функцию написать.

Попробуй еще в MySQL-ном форуме поспрашивать. Может драйвер как-то можно конвертировать заставить.
...
Рейтинг: 0 / 0
27.08.2008, 16:49
    #35509176
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертация 1251 - UTF8
Не пойдёт
Как мне проконвертировать полученную строку с сервера

Код: plaintext
??????????????????????????????????????????
...
Рейтинг: 0 / 0
27.08.2008, 16:54
    #35509190
Конвертация 1251 - UTF8
alextashkНе пойдёт
Как мне проконвертировать полученную строку с сервера

Код: plaintext
??????????????????????????????????????????

Такую строку уже не сконвертировать. Но в таком случае надо настраивать драйвер. К фоксу уже это никак не относится.
...
Рейтинг: 0 / 0
28.08.2008, 09:35
    #35510096
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертация 1251 - UTF8
Использовал odbc-3.51.14 вроде помог

закачал и скачал с сервера нормальную строку на русском

исправленно в настройках подсоединения

Код:
lcSTMT = "SET CHARACTER SET cp1251"


Код:
SQLEXEC(lnHandle, "SET NAMES cp1251")

не выполнял
...
Рейтинг: 0 / 0
28.08.2008, 17:00
    #35511494
Jura.K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертация 1251 - UTF8
сделай так

Код: plaintext
1.
2.
lcODBC = '"DRIVER='+lcDRIVER+';UID='+lcUID+';STMT='+lcSTMT+';OPTION='+lcOPTION+';SOCKET='+lcSOCKET+';PORT='+lcPORT+';PASSWORD='+lcPASSWORD+';SERVER='+lcSERVER+';DB='+lcDB+';DESC='+lcDESC+';stmt=set names cp1251" '

lnHandle = SQLSTRINGCONNECT(&lcODBC)

т.е добавь в строку соединения
stmt=set names cp1251
...
Рейтинг: 0 / 0
30.08.2008, 08:08
    #35514216
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертация 1251 - UTF8
Вдруг вылезла следующая проблема
Не каждый раз, иногда, при выполнении SQLSTRINGCONNECT появляется окно установки ODBC соединения MYSQL 3.51 и программа повисает. Если нажать кнопку Ok, тогда продолжается работа. Что делать?
...
Рейтинг: 0 / 0
31.08.2008, 22:12
    #35515203
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертация 1251 - UTF8
На FoxClub.ru подсказали
Код: plaintext
SQLSETPROP( 0 , DispLogin,  3 )
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Конвертация 1251 - UTF8 / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]