Re: [gnome-cyr] Evolution Pilot koi8 %-\
- From: Andrey Tuev <taa mts ru>
- To: gnome-cyr gnome org
- Subject: Re: [gnome-cyr] Evolution Pilot koi8 %-\
- Date: 16 Aug 2002 10:54:31 +0400
Ну вот, ответа не дождался, раскопал сам, делюсь знанием.
1. Evolution сам конвертацией не занимается, он вызывает функции
convert_ToPilotChar и convert_FromPilotChar из пакета pilot-link (файл util.c)
2. ToPilotChar и convert_FromPilotChar - кривые (да не обидится на меня разарботчик) и по умолчанию конвертят в CP1251
(#define PILOT_CHARSET "CP1252")
3. Pilot-Link для конвертации использует Libiconv
Как это безобразие заставить работать:
Установить ставить libiconv: ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
(со штатным из glibc Mandrake 8.2 не работает)
Скачать
http://www.pilot-link.org/source/pilot-link-0.11.3.tar.gz
Пропатчить прилагаемым патчем
Установить export PILOTCHARSET=KOI8-R.
После этих махинаций у меня все заработало
Исходную мысль взял с
http://mail.gnome.gr.jp/ml/gnome-devel/200112/msg00000.html
но с pilot-link-0.9.5 у меня ничего не получилось, заработало только на 0.11.3
В Втр, 13.08.2002, в 17:10, Andrey Tuev написал:
Добрый день.
Помогите,плиз разбраться как наладить синхронизацию Evolution c pilot.
Синхронизирую и получаю:
Evolution - подчеркивания вместо букв.
Pilot - "п%яппя" и т.д. - очень напоминает UTF-8 показанную в koi (pilot работает в KOI8)
стал искать по исходникам - и в pilot-link и в Evolution нашел функции для конввертации
из одного чарсета в другой.
в Evo - e_pilot_utf8_from(to)_pchar
в pilot-link -convert_From(To)PilotChar
Так кто-ж на самом деле должен конвертить из koi в utа-8 и назад?
и как заставить эту конвертацию работать?
И вообще, БЛИН, ЛЮДИ У КОГО EVO НОРМАЛЬНО С ПИЛОТОМ В KOI СИНХРОНИЗИРУЕТСЯ, ОТЗОВИСЬ!!!!
--- pilot-link-0.11.3-back/libpisock/util.c Tue Jul 30 19:37:13 2002
+++ pilot-link-0.11.3/libpisock/util.c Fri Aug 16 10:26:34 2002
@@ -32,7 +32,7 @@
#include <iconv.h>
#endif
-#define PILOT_CHARSET "CP1252"
+#define DEFAULT_PILOT_CHARSET "CP1252"
/***********************************************************************
*
@@ -55,8 +55,14 @@
*ob;
iconv_t cd;
size_t ibl, obl;
+ char *charset_env;
+
+ charset_env = getenv("PILOTCHARSET");
+ if (charset_env)
+ cd = iconv_open(charset_env, charset);
+ if (!charset_env || !cd)
+ cd = iconv_open(DEFAULT_PILOT_CHARSET, charset);
- cd = iconv_open(PILOT_CHARSET, charset);
if (!cd)
return -1;
@@ -98,8 +104,14 @@
*ob;
iconv_t cd;
size_t ibl, obl;
+ char *charset_env;
+
+ charset_env = getenv("PILOTCHARSET");
+ if (charset_env)
+ cd = iconv_open(charset_env, charset);
+ if (!charset_env || !cd)
+ cd = iconv_open(DEFAULT_PILOT_CHARSET, charset);
- cd = iconv_open(charset, PILOT_CHARSET);
if (!cd)
return -1;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]