Прямые запросы к postgresql
☑
0
mgluhov
29.05.14
✎
10:37
Всем привет! Необходимо прямым запросом получить данные из postgresql 9.2.
Подключаюсь к базе так:
cnn = Новый COMОбъект("ADODB.Connection");
Сервер="myServer";
База="test";
User="admin";
Pass="123";
Driver="{PostgreSQL Unicode}";
Charset="win1251";
СтрокаСоединения="Driver="+Driver+";Server="+Сервер+";Port=5432;Database="+База+";Uid="+User+";Pwd="+Pass+";ClientCharset="+Charset+";STMT="+Charset+";";
cnn.connectionString = СтрокаСоединения;
cnn.Open();
if cnn.State()=0 then
Сообщить("Не удалось соединиться с сервером");
cnn = 0;
Возврат Ложь;
endif;
Потом устанавливаю кодировки:
cnn.Execute("set client_encoding to 'win1251'"); cnn.Execute("set names 'win1251'");
Потом делаю запрос:
cnn.Execute("SELECT ШиротаКонца, ДолготаКонца FROM УчасткиДвижения");(да, колонки и таблицы разработчики назвали русскими буквами...)
На что он мне отвечает:
неверная последовательность байт для кодировки "UTF8": 0xf0 0xa0 0xf0 0x88;
Что еще можно сделать с кодировками, по моему установил уже везде где можно... ?
1
mgluhov
29.05.14
✎
10:44
UP
2
andreymongol82
29.05.14
✎
10:46
(1) Ну вроде же написал, "что неверная последовательность байт для кодировки "UTF8"", зачем тогда вот эту "'win1251" кодировку устанавливать?
3
mgluhov
29.05.14
✎
10:48
При кодировке utf8 выдает следующее:
РћРЁР?БКА: отношение "рјс‡р°сѓс‚рєрёр”рірёр¶рµрѕрёсџ" РЅРµ существует;
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой