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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.