SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 17.01.2011 11:16:47

SARD
Участник
Зарегистрирован: 17.01.2011
Сообщений: 1

Кодировка запроса к MySQL

Здравствуйте.
Делаю запрос к базе MySQL, однако запрос передается в виде вопросительных знаков.


Set objConn = CreateObject("ADODB.Connection")
objConn.Open("Driver={MySQL};SERVER=localhost;DATABASE=111;UID=111;PWD=111;Extended Properties='OPTION=16387';charset=utf-8;")
Set rs = objConn.Execute("SELECT * FROM Cities WHERE Title = 'Москва'")
 


В третьей строке запрос передается вопросами.
Кодировка сервера, таблицы и данных - UTF-8. Кодировка страницы тоже в UTF-8.
Пишу на ASP (VBScript).

Опытным путем выяснил, что мешает строка <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001" LCID="1033"%> в первой строке таблицы. Если ее убрать, тогда запрос передается нормально в UTF-8. Но если я ее убираю, тогда данные из базы отображаются в непонятной кодировке.

Как быть?

И кстати подскажите, что значит "Extended Properties='OPTION=16387'" в строке коннекта к серверу?

Отредактированно SARD (17.01.2011 11:18:49)

Неактивен

 

#2 17.01.2011 14:54:45

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Кодировка запроса к MySQL

Боюсь, что это что-то очень VB-specific. Скорее всего, VB перекодирует данные
автоматически внутри себя. Когда Вы не задаете кодировку страницы, он это
делает правильно. Иначе — нет.

Что делает Extended properties, соответственно, тоже не известно. Если убрать
charset из строки подключения — что-то поменяется? Есть ощущение, что оно
тоже ни на что не влияет, а влияет только кодировка сценария, и «неизвестная
кодировка» — это как раз utf8 при том, что страница становится 1251.

deadka должен знать больше, но как его призвать в этот тред — не знаю smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson