You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#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,447
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: 456

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: 829

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: 456

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

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


matrix.org: @progserega:rsprim.ru

Offline

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

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

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: 20

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