OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2009-06-22 17:05:39

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

MapSource. Garmin. Кодировка?

Подскажите, пожалуйста, есть ли какой-либо способ получить в Гармине (60CSx) для POI в поле Note/Заметки русский текст вместо вопросительных знаков? Закачиваю через MapSource. google не помог roll

Offline

#2 2009-06-22 17:12:42

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,446
Website

Re: MapSource. Garmin. Кодировка?

Offline

#3 2009-06-22 17:51:09

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

Re: MapSource. Garmin. Кодировка?

??? ?????. ????????? "??????????" MapSource->Garmin ???? "??????????", Garmin->MS - "ÊÐÀÊÎÇßÁÐÀ"

Offline

#4 2009-07-19 20:38:25

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

Re: MapSource. Garmin. Кодировка?

Решил проблему написанием perl'овского постобработчика gpx-файлов, требуемое преобразование

$cmt=decode("utf8", $cmt);
$cmt=encode("cp".1251, $cmt);
$cmt=encode("utf8", $cmt);

, после которого получается файл с кракозябрами, но воспринимаемый Гармином. Если кому надо - стучитесь, выложу.
P.S. До чего-ж полезно знакомиться с новыми языками tongue

Offline

#5 2010-01-21 10:02:02

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 447

Re: MapSource. Garmin. Кодировка?

А можно алгоритм преобразования, т.е. вида:

cp1251 -> utf8 и т.д.

Как для преобразования в utf8 скачанного из гармина gpx-файла (gpsbabel-ом), так и наоборот - для закачки в гармин.

enca (анализатор кодировки) говорит нечто невразумительное:
# enca новые_треки.gpx
Universal transformation format 8 bits; UTF-8
  Doubly-encoded to UTF-8 from ISO-8859-5

Ессно перекодировать из ISO в utf8 не получается. Пустое поле и всё выходит.

П.С. прошивка прибора как-то слишком круто. Так-то всё работает - только перекодировку добавить в скрипт скачивания треков и точек...


matrix.org: @progserega:rsprim.ru

Offline

#6 2010-01-21 10:39:41

one_half_3544
Member
Registered: 2009-02-24
Posts: 771

Re: MapSource. Garmin. Кодировка?

progserega wrote:

А можно алгоритм преобразования, т.е. вида:

cp1251 -> utf8 и т.д.

Как для преобразования в utf8 скачанного из гармина gpx-файла (gpsbabel-ом), так и наоборот - для закачки в гармин.

gpsbabel -t -w -i garmin -f usb: -o gpx -c 1251 -F - | iconv -f WINDOWS-1251 -t UTF-8 | sed -e 's/CP1251/UTF-8/g'

Но это не спасает от того, что последние буковки в названиях точек срезаются. (У меня так, по крайней мере, на висте hcx)/

Offline

#7 2010-01-21 11:36:37

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

Re: MapSource. Garmin. Кодировка?

Насколько я помню, проблема в том, что gpsbabel неправильно определяет родную кодировку прибора (cp1251), я лечил простым патчем:

--- garmin.c    2007-02-26 02:18:44.000000000 +0300
+++ garmin.c    2007-08-03 20:35:55.000000000 +0400
@@ -41,6 +41,7 @@
 static char *snwhiteopt = NULL;
 static char *deficon = NULL;
 static char *category = NULL;
+static char *encoding = NULL;
 
 #define MILITANT_VALID_WAYPT_CHARS "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
@@ -60,6 +61,8 @@
         NULL, ARGTYPE_BOOL, ARG_NOMINMAX},
     { "category", &category, "Category number to use for written waypoints", 
         NULL, ARGTYPE_INT, "1", "16"},
+    { "encoding", &encoding, "Override auto-detected encoding", 
+        NULL, ARGTYPE_STRING, ARG_NOMINMAX},
     ARG_TERMINATOR
 };
 
@@ -184,6 +187,17 @@
     }
 
     }
+
+    /*
+     * Encoding override
+     */
+    if (encoding) {
+        receiver_charset = encoding;
+        if (global_opts.debug_level > 0)
+            fprintf(stderr, "Encoding overrided to \"%s\"\n",
+                receiver_charset);
+    }
+
     /*
      * If the user provided a short_length, override the calculated value.
      */

после наложения кодировку надо указывать в параметрах и gpsbabel все нормально переводит в utf-8, по крайней мере в gpx и kml:

gpsbabel -t -w -i garmin,encoding=windows-1251 -f usb: -o gpx -F out.gpx

но maxcom с лора, говорит что можно и без патча обойтись http://dezhin.livejournal.com/15985.htm … 433#t56433, но я не пробовал.


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#8 2010-01-23 11:16:53

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 447

Re: MapSource. Garmin. Кодировка?

Спасибо большое!
Буду пробовать.


matrix.org: @progserega:rsprim.ru

Offline

#9 2010-01-23 12:39:36

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 447

Re: MapSource. Garmin. Кодировка?

Спасибо за патч!
Подкрутил его для версии 1.3.6 gpsbabel. Всё работает теперь!
Славно.
Запостил в gpsbabel:
http://sourceforge.net/tracker/?func=de … tid=489477
Запостил на bugs.gentoo.org:
http://bugs.gentoo.org/show_bug.cgi?id=301898

Всем спасибо за помощь!
Будем надеяться, что патч примут и в следующих версиях бабела перекодировка будет работать "из коробки".


matrix.org: @progserega:rsprim.ru

Offline

#10 2010-01-23 15:30:24

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

Re: MapSource. Garmin. Кодировка?

Прикольно! Надеюсь он мне через портежи вернется!
Еще его кто-то в убунту постил, но там сказали постите в дебиан.


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#11 2011-07-08 22:15:42

jekhor
Member
Registered: 2009-09-21
Posts: 17

Re: MapSource. Garmin. Кодировка?

А вот я не поленился и поковырялся в исходниках. В общем, авторы запутались в собственном коде, и ключ -c нормально работает только при старом стиле задания входного и выходного файлов. Вот заливка вейпоинтов, работает из коробки:

gpsbabel -w -i gpx  -o garmin -f 20110716-17_plan.gpx -c windows-1251 -F /dev/ttyUSB0

Last edited by jekhor (2011-07-08 22:18:17)

Offline

Board footer

Powered by FluxBB