Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Кодировки и C++ Builder / 8 сообщений из 8, страница 1 из 1
14.08.2005, 20:12
    #33214652
travek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировки и C++ Builder
Пишется приложение, взаимодействующее с PostgreSQL 8.0. PostrgeSQL установлена на Windows платформе. Создана база данных в формате Unicode. У меня возникла проблема с русским языком. Т.к в Builder не могу найти данную кодировку. Добавляю к примеру на форму компонент Edit. В его свойствах Font->Charset нет кодировки Unicode. Соответственно неправильно отображаюся данные в таблицах, введённые из программы. Как вы посоветуете решить данную проблему. Возможно ли в Builder добавить поддержку других кодировок?
...
Рейтинг: 0 / 0
14.08.2005, 20:52
    #33214657
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировки и C++ Builder
http://sql.ru/forum/actualthread.aspx?tid=199241

поиск рулит
...
Рейтинг: 0 / 0
15.08.2005, 10:31
    #33215014
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировки и C++ Builder
landyпоиск рулитно не катит Поиск по форуму : Форум на SQL.RUИзвините, из-за сильной нагрузки на сервер, ваш поиск не был выполнен. Пожалуйста попробуйте повторить попозже или изменить строку поиска.
...
Рейтинг: 0 / 0
15.08.2005, 19:45
    #33216456
kolobok0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировки и C++ Builder
travek...Создана база данных в формате Unicode. У меня возникла проблема с русским языком....

юзанье в виндах, юникод созданной базы...
после установления коннекшенна необходимо сделать (пример на сях, через pq_lib библиотеку. но смысл надеюсь не потерян...)

Код: plaintext
1.
2.
3.
4.
5.
6.
/* Make a connection to the database */
	m_pConn = PQconnectdb(strName);
//
	const char* pCode = "WINDOWS_1251";
	int nRet = PQsetClientEncoding(m_pConn, pCode);
//

и вроде как счастье ожидаеться...

с уважением
(круглый)
...
Рейтинг: 0 / 0
14.09.2005, 09:49
    #33267908
travek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировки и C++ Builder
Прошу прощения, что поднимаю тему. Совсем запутался!
Мне посоветовали такое решение. Преобразовать строку к unicode с помощью:
int n;
wchar *cc=NULL;
n=MultiByteToWideChar(1251, 0,"test_temp",-1,cc,0);
cc=new wchar(n);
MultiByteToWideChar(1251, 0,"c:\\temp",-1,cc,n);

Вроде получается нормальная строка.
Потом я её передаю как параметр в sql запрос ADOQuery. Вот здесь и возникает ошибка. Программа сразу вылетает в отладчик!
Может кто-то работал с Builder и Postgresql 8 под Win. Как добавлять данные в таблицу из программы?
...
Рейтинг: 0 / 0
14.09.2005, 10:49
    #33268107
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировки и C++ Builder
Зачем? Постгрес сам конвертирует в ту кодировку, в которой у него БД. Нужно только указать ему при коннекте кодировку клиента, зачем мучаться?
...
Рейтинг: 0 / 0
14.09.2005, 16:08
    #33269457
travek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировки и C++ Builder
landy
А вы не подскажите как указать при коннекте какая кодировка. Я коннекчусь с помощью ADO. При добавлении русских символов в таблицу заносится просто ". Как то странно конвертирует - струку из русских букв в кавычки ;)
Благгодарен за вашу помощь!
...
Рейтинг: 0 / 0
15.09.2005, 08:06
    #33270238
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировки и C++ Builder
Я не знаю как АДО работает, но обычно после коннекта выдать команду SET CLIENT ENCODING, примерно так

C = new Connection("");
Transaction T(*C,"connect");
T.exec("SET CLIENT ENCODING TO \'WIN\' ");
T.Commit();
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Кодировки и C++ Builder / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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