Здравстуйте!
Помогите, пожалуйста, советом. Стоит задача написать приложение на Visual C, которое запрашивает у пользователя значения полей определенной таблицы и затем их добавляет. Использую библиотеку libpq и функцию PQexec(...). Если вторым параметром функции прописываю строку
"INSERT INTO books VALUES(1,'SQL', 816,2001, 1,1,1, 2, '2-nd edition', 5)"
вставка происходит нормально, а если меняю хотя бы одно поле на русскоязычное, например,
"INSERT INTO books VALUES(1,'SQL', 816,2001, 1,1,1, 2, '2-е издание', 5)"
вставка не выполняется.
Каким образом и что надо настроить, чтоб последняя команда выполнилась?
Если у вас БД в UTF-8,
Если у вас БД в UTF-8, попробуйте после коннекта к базе, выдать команду смены кодировки:
SET CLIENT_ENCODING TO 'UTF-8';
если база в виндовой кодировке или ещё какой - см. список поддерживаемых кодировок:
http://postgresql.ru.net/manual/multibyte.html#MULTIBYTE-CHARSET-SUPPORTED
Спасибо за помощь! У меня
Спасибо за помощь!
У меня база в кодировке WIN1251, помог вызов функции
PQsetClientEncoding(conn,"WIN1251");