LINUX.ORG.RU

Перекодировка koi8<->utf8


0

0
Пишу приложение на GTK2 клиент к postgresql. GTK2 оперирует строками в unicode а postgres выдает данные в koi8. Как (какими функциями)лучще в данном случае перекодировать данные в utf8 и обратно в koi8.
anonymous
установи PGCLIENTENCODING=UTF-8
ananas ★★★★★
()
А эта переменная действует для всех клиентов или для одного? Если для всех то это не подходит так как работать с БД будут и через другие клиенты у которых возможна другая кодировка.
anonymous
()
ну, делай вначале SET CLIENT_ENCODING TO `UTF-8`;
ananas ★★★★★
()
Спасибо !
anonymous
()
Ну а если отвечать на вопрос

gchar *my_convert(gchar *str)
{
  gchar *result;
  gint bytes_read;
  GError *err = NULL;

  result =  g_convert(str, strlen(str), "utf-8", "koi8r", &bytes_read,      NULL, &err);
  
  return result;
}

Хотя, ошибки лучше проверять. 
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.