Re: Перекодировка mp3 тегов

2007-02-02 Пенетрантность Виталий Ищенко

01.02.07, Oleg Matviychuk [EMAIL PROTECTED] написал(а):


А если не все, а часть вперемешку уже перешла на utf8? И как сделать так,
чтобы
теги писались в v2.3 а не в v.2.4, ибо хардверные плееры имеющиеся у мну
понимают гарантировано только 2.3. Экспериментировать и проверять
совместимость
с 2.4 желания и времени нет. EasyTag симпатичен, только не смог я его
заставить
автоматом перекодировать теги из цп в утф и килять v1, только если
сканером
дописываешь теги, он все перебивает.



Ну тогда UTF-8, по идее, не  светит. В 2.3 Разрешены UTF-16 (0x01) (Правда в
стандарте записан UCS-2) и Latin1 (0x00).
taglib не умеет писать 2.3
Так что нужен UTF-16. Единственная прогу, которую я знаю - это easytag
(GUI), основанная на libid3.
Но так как эта библиотека заброшена, то и багов там прилично. Самый
распространённый - это баг с UTF-16 -- некоторые символы из Latin1
кодируются неверно (с диакритическими знаками). Вроде в etch на эту либу
наложен патч, но я не уверен - нужно читать Changelog

В рассылке эта тема поднималась раза 3 за пол года. Скорее всего кто-то
указывал на утилиту, которая умеет правильно писать 2.3 тэги


Re: Перекодировка mp3 тегов

2007-02-01 Пенетрантность Vladislav Naumov

On 1/26/07, Nicholas [EMAIL PROTECTED] wrote:

Видимо уже пробегало, но что то не находится...

1. Чем/как можно перекодировать теги в mp3 файлах из cp1251 в utf8 из
консоли ? mp3info ?


Самые правильные инструменты для работы с тегами ID3v2.4 - exfalso (из
комплекта quodlibet) и mutagen. У кого Debian sarge - последний
работающий без напильника exfalso из quodlibet-0.18, более старшие
хотят новый GTK/pygtk. Всё брать на
http://www.sacredchao.net/quodlibet

Для стадной перекодировки в комплекте mutagen есть tools/mid3iconv.
Если в вашей развалке почти всё в одной кодировке (обычно - cp1251),
то можно их одним махом перекодировать:

 find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1

(http://vnaum.livejournal.com/11022.html)


Re: Перекодировка mp3 тегов

2007-02-01 Пенетрантность Oleg Matviychuk
On Thu, 1 Feb 2007 16:33:18 +0600
Vladislav Naumov wrote:

 On 1/26/07, Nicholas [EMAIL PROTECTED] wrote:
  Видимо уже пробегало, но что то не находится...
 
  1. Чем/как можно перекодировать теги в mp3 файлах из cp1251 в utf8 из
  консоли ? mp3info ?
 
 Самые правильные инструменты для работы с тегами ID3v2.4 - exfalso (из
 комплекта quodlibet) и mutagen. У кого Debian sarge - последний
 работающий без напильника exfalso из quodlibet-0.18, более старшие
 хотят новый GTK/pygtk. Всё брать на
 http://www.sacredchao.net/quodlibet
 
 Для стадной перекодировки в комплекте mutagen есть tools/mid3iconv.
 Если в вашей развалке почти всё в одной кодировке (обычно - cp1251),
 то можно их одним махом перекодировать:
 
   find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1
 
А если не все, а часть вперемешку уже перешла на utf8? И как сделать так, чтобы
теги писались в v2.3 а не в v.2.4, ибо хардверные плееры имеющиеся у мну
понимают гарантировано только 2.3. Экспериментировать и проверять совместимость
с 2.4 желания и времени нет. EasyTag симпатичен, только не смог я его заставить
автоматом перекодировать теги из цп в утф и килять v1, только если сканером
дописываешь теги, он все перебивает. 

-- 
Матвийчук Олег aka Matvey, LRU#349092
http://mathway.narod.ru

I am the ILOVEGNU signature virus. Just copy me to your signature.
This email was infected under the terms of the GNU General Public License.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Перекодировка mp3 тего в

2007-01-26 Пенетрантность Aleksey Luzin

Консольное.

Antono Vasiljev wrote:

On Fri, 2007-01-26 at 00:06 -0500, Nicholas wrote:

EasyTag кажется всё умеет.

  

Видимо уже пробегало, но что то не находится...

1. Чем/как можно перекодировать теги в mp3 файлах из cp1251 в utf8 из 
консоли ? mp3info ?


2. Можно ли записать тег Artist-Title  взяв значение имя директории
действие обратное -
Victor Wagner wrote:
  for i in *.mp3; do
mv $i `mp3info -p %a-%t.mp3 $i`
  done  





  



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Перекодировка mp3 тегов

2007-01-26 Пенетрантность Pechnikov Alexey
Для этой цели есть какие-то перловые скрипты, подробностей не помню :-(


Re: Перекодировка mp3 тегов

2007-01-26 Пенетрантность HoverHell

**On 1/26/07, Nicholas [EMAIL PROTECTED] wrote:


Видимо уже пробегало, но что то не находится...

1. Чем/как можно перекодировать теги в mp3 файлах из cp1251 в utf8 из
консоли ? mp3info ?



Тема здесь называлась mp3 tag. Там упоминалось, чем.



2. Можно ли записать тег Artist-Title  взяв значение имя директории



Я пользуюсь программой eyeD3 для таких целей. А вообще - любой консольный
редактор id3 тэгов. Плюс sh.

--
--HoverHell (ICQ#174520).


Re: Перекодировка на л ету и не только

2003-08-15 Пенетрантность Elena Egorova
Здравствуйте,

On Thu, Aug 14, 2003 at 12:30:47PM +0500, BeerBong wrote:

 1. Можно ли перекодировать на лету ответы и команды mysql? Нашел
 скриптик и передалал его, но он не работает (видимо потому что в
 expect ни бум бум).

Зачем? MySQL сама великолепно работает с русскими кодировками. И сортирует
очень правильно.

-- 
Elena Egorova,
SatGate LLC,
+7 0112 573073
+7 0112 573070



Re: Перекодировка на л ету и не только

2003-08-15 Пенетрантность BeerBong
On Fri, Aug 15, 2003 at 08:46:21AM +0300, Elena Egorova wrote:
 Здравствуйте,
 
 On Thu, Aug 14, 2003 at 12:30:47PM +0500, BeerBong wrote:
 
  1. Можно ли перекодировать на лету ответы и команды mysql? Нашел
  скриптик и передалал его, но он не работает (видимо потому что в
  expect ни бум бум).
 
 Зачем? MySQL сама великолепно работает с русскими кодировками. И сортирует
 очень правильно.

Я описывал проблему ранее -- mySQL работал в кодировке cp1251, т.к. все
ВЕБ сервера тоже в ней работали. Но когда я себе в качестве рабочей
станции поставил debian с кодировкой koi8-r встала проблема, т.к. в
mySQL с кодировками не все так хорошо. Есть конвертация на лету из
koi8-r в cp1251, но не наоборот.

Теперь я решил проблему тем что запускаю терминал в cp1251, просто не
предполагал что это так легко решается -- сгенерил локаль и все :)
Теперь когда работаю с веб проектами -- редактирую html, работаю с
базами -- все это делаю из терминала с cp1251. И все теперь хорошо.

-- 
Sergey Polyakov   aka BeerBong
Chief of WebZavod http://www.webzavod.ru
Tel. +7 (8462) 43-93-85 | +7 (8462) 43-93-86
mailto:[EMAIL PROTECTED]



Перекодировка на лету и не только

2003-08-14 Пенетрантность BeerBong
On Wed, Jun 25, 2003 at 10:26:20PM +0300, Evheny Khoruzhy wrote:
 On Wed, Jun 25, 2003 at 04:14:35PM +0500, BeerBong wrote:
  Доброе время суток!
  
  Есть SQL cервер который хостит mySQL, Oracle  Postgres базы. С ними 
  работают WEB сервер, на сайтах везде по умолчанию cp1251, соответственно в 
  базах везде по умолчанию тоже cp1251. И всех это устраивало до того момента 
  пока я в качестве своей OS не поставил Debian. (Неделю поскрипел зубами с 
  конфигами fvwm и добился хорошего внешнего вида и удобства -- теперь 
  практически всем доволен)
  
  В качестве локальной кодировки у себя прописал koi8. При коннекте к mySQL 
  из терминала получаем БНОПНЮ. Я знаю что есть перекодировка (сервер)koi8- 
  cp1251(клиент), но наоборот -- нет.
 .. 
  Виктор Вагнер писал, что прописал в меню несколько терминалов с разными 
  кодировками, а как в таком случае переключается раскладка?
 Так же, как и обычно. Всё молча работает в обеих кодировках. У меня,
 например, прописан на горячие клавиши запуск xterm в кодировке koi8-r
 в основном для того, чтобы вывод dict читать 

Вот именно что вывод, вывод понятно...
Одним словом вопроса два:

1. Можно ли перекодировать на лету ответы и команды mysql? Нашел
скриптик и передалал его, но он не работает (видимо потому что в
expect ни бум бум).

#!/usr/bin/expect
spawn mysql -h titanic -p -u manager
interact -nobuffer -re {
  (\[\x80-\xFF]) {send_user [recode -input CP1251 $expect_out(1,string)]}  
  -u (\[\x80-\xFF]) {send [recode -output CP1251 $expect_out(1,string)]}  
}

Может есть у кого уже заточенный?

2. Если первый вариант хуже второго то как запускать два терминала в разных
кодировках - koi8-r или cp1251? Я сейчас использую xxkb. Что нужно будет 
сделать 
по шагам? Видимо создать локаль, сгенерить... как то мутно все
представляю и главное в инете подобного описалова не найду...

-- 
Sergey Polyakov   aka BeerBong
Chief of WebZavod http://www.webzavod.ru
Tel. +7 (8462) 43-93-85 | +7 (8462) 43-93-86
mailto:[EMAIL PROTECTED]



Re: Перекодировка на л ету и не только

2003-08-14 Пенетрантность BeerBong
 Вот именно что вывод, вывод понятно...
 Одним словом вопроса два:
 
 1. Можно ли перекодировать на лету ответы и команды mysql? Нашел
 скриптик и передалал его, но он не работает (видимо потому что в
 expect ни бум бум).
 
 #!/usr/bin/expect
 spawn mysql -h titanic -p -u manager
 interact -nobuffer -re {
   (\[\x80-\xFF]) {send_user [recode -input CP1251 $expect_out(1,string)]}  
   -u (\[\x80-\xFF]) {send [recode -output CP1251 $expect_out(1,string)]}  
 }
 
 Может есть у кого уже заточенный?

с этим не разобрался...

 
 2. Если первый вариант хуже второго то как запускать два терминала в разных
 кодировках - koi8-r или cp1251? Я сейчас использую xxkb. Что нужно будет 
 сделать 
 по шагам? Видимо создать локаль, сгенерить... как то мутно все
 представляю и главное в инете подобного описалова не найду...

Здесь все просто -- сгенерил локаль ru_RU.CP1251 запустил
LANG=ru_RU.CP1251 xterm -fn '...-cp1251' все заработало.
Все просто... Сорри за глупый вопрос...

-- 
Sergey Polyakov   aka BeerBong
Chief of WebZavod http://www.webzavod.ru
Tel. +7 (8462) 43-93-85 | +7 (8462) 43-93-86
mailto:[EMAIL PROTECTED]



Re: Перекодировка в MySQL

2003-06-29 Пенетрантность TARANTUL
   Йоханга!!!

On Wed, Jun 25, 2003 at 08:00:14PM +0400, Victor B. Wagner wrote:
 посредством ++enc=что-надо в команде e или split.
 
 У меня для выбора кодировки файла служат такие строчки в .vimrc:
 Меню кодировок
 set wildmenu
 set wcm=Tab
 menu Encoding.koi8-r   :e ++enc=koi8-rCR
 menu Encoding.windows-1251 :e ++enc=cp1251CR
 menu Encoding.ibm-866  :e ++enc=ibm866CR
 menu Encoding.utf-8:e ++enc=utf-8 CR
 map F8 :emenu Encoding.TAB
 
 Соответственно, если загрузив файл, видишь, что он не читается,
 жмешь F8 и получаешь меню.

Раз пошла такая пьянка...
У меня vim (из woody) ну никак не хочет в koi8-r локали сохранять файлы
в utf-8. Выходит что-то похожее на уникод но не он.
Это баг или нет?

-- 
TARANTUL



Re: перекодировка на лету

2003-06-29 Пенетрантность Nicholas

Viktor Vislobokov wrote:



Хочу только заметить, что как перекодировщик iconv - говно!



charconv рулит!


А он в unstable есть?

С уважением Николай [EMAIL PROTECTED]




Re: Перекодировка в MySQL

2003-06-26 Пенетрантность Evheny Khoruzhy
On Wed, Jun 25, 2003 at 04:14:35PM +0500, BeerBong wrote:
 Доброе время суток!
 
 Есть SQL cервер который хостит mySQL, Oracle  Postgres базы. С ними 
 работают WEB сервер, на сайтах везде по умолчанию cp1251, соответственно в 
 базах везде по умолчанию тоже cp1251. И всех это устраивало до того момента 
 пока я в качестве своей OS не поставил Debian. (Неделю поскрипел зубами с 
 конфигами fvwm и добился хорошего внешнего вида и удобства -- теперь 
 практически всем доволен)
 
 В качестве локальной кодировки у себя прописал koi8. При коннекте к mySQL 
 из терминала получаем БНОПНЮ. Я знаю что есть перекодировка (сервер)koi8- 
 cp1251(клиент), знаю что можно свою сделать, но не хочется трогать 
 продакшн сервер ради этого (хотя придется если других вариантов нет). Что 
 делать?
.. 
 Виктор Вагнер писал, что прописал в меню несколько терминалов с разными 
 кодировками, а как в таком случае переключается раскладка?
Так же, как и обычно. Всё молча работает в обеих кодировках. У меня,
например, прописан на горячие клавиши запуск xterm в кодировке koi8-r
в основном для того, чтобы вывод dict читать (перекодировать словарь
влом) - у меня основная локаль be_BY.CP1251.

-- 
Best regards,
Evgeny Khoruzhy [EMAIL PROTECTED]



Перекодировка в MySQL

2003-06-25 Пенетрантность BeerBong

Доброе время суток!

Есть SQL cервер который хостит mySQL, Oracle  Postgres базы. С ними 
работают WEB сервер, на сайтах везде по умолчанию cp1251, соответственно в 
базах везде по умолчанию тоже cp1251. И всех это устраивало до того момента 
пока я в качестве своей OS не поставил Debian. (Неделю поскрипел зубами с 
конфигами fvwm и добился хорошего внешнего вида и удобства -- теперь 
практически всем доволен)


В качестве локальной кодировки у себя прописал koi8. При коннекте к mySQL 
из терминала получаем БНОПНЮ. Я знаю что есть перекодировка (сервер)koi8- 
cp1251(клиент), знаю что можно свою сделать, но не хочется трогать 
продакшн сервер ради этого (хотя придется если других вариантов нет). Что 
делать?


Кроме того еще не дошел до работы с текстовыми файлами в cp1251 кодировке. 
Еще не разбирался, хотя Cyrillic HOWTO просматривал, но не сложилось пока в 
голове четкого варианта решения.
Предпочитаю vim, MCedit не хочу, монстров тоже. Как сделать поудобнее и 
попроще работу с редактированием файлов в разных кодировках?


Виктор Вагнер писал, что прописал в меню несколько терминалов с разными 
кодировками, а как в таком случае переключается раскладка?


Понимаю, вопросы элементарные -- время поджимает :(

Sergey Polyakov   aka BeerBong
Chief of WebZavod http://www.webzavod.ru
Tel. +7 (8462) 43-93-85 | +7 (8462) 43-93-86
mailto:[EMAIL PROTECTED]



Re: Перекодировка в MySQL

2003-06-25 Пенетрантность Victor B. Wagner
On 2003.06.25 at 16:14:35 +0500, BeerBong wrote:

 Доброе время суток!
 
 Есть SQL cервер который хостит mySQL, Oracle  Postgres базы. С ними 
 работают WEB сервер, на сайтах везде по умолчанию cp1251, соответственно в 
 базах везде по умолчанию тоже cp1251. И всех это устраивало до того момента 
 пока я в качестве своей OS не поставил Debian. (Неделю поскрипел зубами с 
 конфигами fvwm и добился хорошего внешнего вида и удобства -- теперь 
 практически всем доволен)
 
 В качестве локальной кодировки у себя прописал koi8. При коннекте к mySQL 
 из терминала получаем БНОПНЮ. Я знаю что есть перекодировка (сервер)koi8- 
 cp1251(клиент), знаю что можно свою сделать, но не хочется трогать 

Все приличные базы данных (по-моему, mysql к ним относится в данном
контексте) умеют работать с произвольным сочетанием кодировки сервера
и кодировки клиента.

Для Oracle нужно установить переменную среды
NLS_LANG=RUSSIAN_CIS.CL8KOI8R, для Postgres PGCLIENTENCODING=KOI8
При условии что сервер знает, что у него в базе кодировка 1251, все
будет удобочитаемо. Как для mysql - не знаю, так как никогд им не
пользовался.

 продакшн сервер ради этого (хотя придется если других вариантов нет). Что 
 делать?

Осознать, что те утилиты, которыми ты работаешь с базами из командной
строки - это тоже клиенты. 

 Кроме того еще не дошел до работы с текстовыми файлами в cp1251 кодировке. 
 Еще не разбирался, хотя Cyrillic HOWTO просматривал, но не сложилось пока в 
 голове четкого варианта решения.

Для работы с текстовыми файлами обычно применяется текстовый редактор.
Текстовых редакторов бывает два - vim и emacs. Оба умеют понимать, что
кодировка файла может отличаться от кодировки терминала.

 Предпочитаю vim, MCedit не хочу, монстров тоже. Как сделать поудобнее и 

У вас очень правильный образ мыслей, сэр

В vim указание кодировки при загрузке текстового файла делается

посредством ++enc=что-надо в команде e или split.

У меня для выбора кодировки файла служат такие строчки в .vimrc:
Меню кодировок
set wildmenu
set wcm=Tab
menu Encoding.koi8-r   :e ++enc=koi8-rCR
menu Encoding.windows-1251 :e ++enc=cp1251CR
menu Encoding.ibm-866  :e ++enc=ibm866CR
menu Encoding.utf-8:e ++enc=utf-8 CR
map F8 :emenu Encoding.TAB

Соответственно, если загрузив файл, видишь, что он не читается,
жмешь F8 и получаешь меню.


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

Никак. А зачем она должна как-то переключаться? Раскладка работает
на уровне X-овых keysym, и русское А это всегда Cyrillic-A.
А за то, чтобы оно превратилось в правильный 8-битный (или не-8-битный,
если это utf-8) код внутри приложения, отвечает локаль данного
приложения. 

Данным называется X-овое приложение. То есть если мы запускаем vim в
xterm, то локаль должна быть выставлена именно у xterm. Если gvim - то у
самого gvim.




перекодировка на лету

2003-05-20 Пенетрантность Eugeny Nemo
Приветствую.

Необходим совет. 
Хочется следующее:

tail -f /var/log/somelog.log | iconv -f CP866 -t KOI8-R

т.е. я хочу tail'ом отслеживать лог, написанный в cp866, и показывать
его на консоль в koi8. однако не работает, т.к. iconv ждёт EOF'а, и
только потом начинает перекодировать.

Как поступить?

Спасибо заранее.



Re: перекодировка на лету

2003-05-20 Пенетрантность Viktor Vislobokov

Eugeny Nemo wrote:

Приветствую.

Необходим совет. 
Хочется следующее:


tail -f /var/log/somelog.log | iconv -f CP866 -t KOI8-R


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

charconv рулит!

Виктор




Re: перекодировка на л ету

2003-05-20 Пенетрантность Eugeny Nemo
On Tue, May 20, 2003 at 02:04:31PM +0600, Viktor Vislobokov wrote:
 Хочется следующее:
 tail -f /var/log/somelog.log | iconv -f CP866 -t KOI8-R
 Хочу только заметить, что как перекодировщик iconv - говно!
  ну может быть не так резко, но в общих чертах я согласен. =)

 charconv рулит!
  мне уже посоветовали konwert. работает замечательно.
  спасибо. =)



Re: перекодировка на л ету

2003-05-20 Пенетрантность Vlad Harchev
On Tue, May 20, 2003 at 02:04:31PM +0600, Viktor Vislobokov wrote:
Hi,

 Eugeny Nemo wrote:
 Приветствую.
 
 Необходим совет. 
 Хочется следующее:
 
 tail -f /var/log/somelog.log | iconv -f CP866 -t KOI8-R
 
 Хочу только заметить, что как перекодировщик iconv - говно!
 Если в потоке символов попадается знак, который по его
 мнению не может существовать в исходной кодировке, iconv
 прекращает свою работу.

У iconv от новых глибсей есть ключик -c для этого. 
Хотя возможно он тоже не всегда помогает - уже не помню..
-- 
 Best regards,
  -Vlad



Re: перекодировка

2000-07-23 Пенетрантность Vlad Harchev
On Mon, 10 Jul 2000, Alexander Kotelnikov wrote:

 On Mon, Jul 10, 2000 at 09:22:16PM +0500, Vlad Harchev wrote:
  On Mon, 10 Jul 2000, Alexander Kotelnikov wrote:
  
   BTW, iconv -- глючная штука, выпадала у меня при перекодировке 
   cp1251-koi8-r,
   да и работает с libc6.1
  
   Даже падала? Прямо-таки не верится. А не сохранился ли файл на котором она
  упала?
 
 не падала, а выпадала:
 iconv: illegal input sequence at position 34322

 Да, там на этом месте байт 0x85 (по-моему) - это HORIZONTAL ELISPIS в
соотвествии с определением cp1251 заложенном в glibc, таковой символ отсутвует
в кодировка koi8-r, поэтому iconv не может его перевести и отказывается идти
дальше.
 Во-первых, я не думаю что этот символ в приложенном файле имеет какой-то
смысл - скорее глюк какой-то софтины (экспорта из экселя?).
 Во-вторых, было бы неплохо расширить возможности _утилиты_ iconv на предмет
поведения в случае невозможности перевода - типа либо останов, либо пропуск
символа, либо оставить как есть, либо замена чем-нить другим (типа пробела)
либо перевод в mnemonic unicode (типа horizontal-elipsis в нашем случае).
 
 файл прилагаю
 
 -- 
 Alexander Kotelnikov
 Saint-Petersburg, Russia
 

 Best regards,
  -Vlad



Re: перекодировка

2000-07-23 Пенетрантность Victor Wagner
On Sun, 23 Jul 2000, Vlad Harchev wrote:

 
  Да, там на этом месте байт 0x85 (по-моему) - это HORIZONTAL ELISPIS в
 соотвествии с определением cp1251 заложенном в glibc, таковой символ отсутвует
 в кодировка koi8-r, поэтому iconv не может его перевести и отказывается идти
 дальше.
  Во-первых, я не думаю что этот символ в приложенном файле имеет какой-то
 смысл - скорее глюк какой-то софтины (экспорта из экселя?).

Почему не имеет смысл? Многоточие оно вполне имеет смысл.

  Во-вторых, было бы неплохо расширить возможности _утилиты_ iconv на предмет
 поведения в случае невозможности перевода - типа либо останов, либо пропуск
 символа, либо оставить как есть, либо замена чем-нить другим (типа пробела)
 либо перевод в mnemonic unicode (типа horizontal-elipsis в нашем случае).


Для большинства подобного рода символов существуют довольно приличные
замены на комбинации из нескольких символов. 

В свое время, когда я писал catdoc версии 0.90 я там предусмотрел подобную
ситуацию.

И в существующем дистрибутивном файле ascii.replchars horizontal ellipsis
заменяется именно на ...

Точнее, у меня там используется трехуровневая замена
1. Смотрим есть ли данный unicode символ в таблице specchars
 (например \ в случае если выходной формат TeX или  в случае HTML)
 Если нашли, то выводим заменитель из данной таблицы и идем на следующий
 unicode символ 
2. Пытаемся перекодировать в выходной charset. Если получилось, выводим
то, что получилось
3. Если шаг 2 был безуспешный, ищем в таблице заменителей (а в ней есть
много чего - корректная транслитерация всей кириллицы, отображение букв
latin 1 на буквы с порезанными умляутами etc, причем для каждого выходного
формата она своя, с учетом того, что те же TeX и HTML имеют специальные
управляющие последовательности для многих интересных printablе символов.
4. Если и это не спасло, то в зависимости от режима выводим либо
универсальный символ-заменитель (обычно ?) либо 16-ричный код данного
Unicode-символа.

Но чтобы обламываться и выпадать с ошибкой...

 --
Victor Wagner   [EMAIL PROTECTED]
Programmer  Office:7-(095)-785-09-72
Institute for Commerce  Home: 7-(095)-135-46-61
Engineering http://www.ice.ru/~vitus



Re: перекодировка

2000-07-23 Пенетрантность Vlad Harchev
On Sun, 23 Jul 2000, Victor Wagner wrote:

 On Sun, 23 Jul 2000, Vlad Harchev wrote:
 
  
   Да, там на этом месте байт 0x85 (по-моему) - это HORIZONTAL ELISPIS в
  соотвествии с определением cp1251 заложенном в glibc, таковой символ 
  отсутвует
  в кодировка koi8-r, поэтому iconv не может его перевести и отказывается идти
  дальше.
   Во-первых, я не думаю что этот символ в приложенном файле имеет какой-то
  смысл - скорее глюк какой-то софтины (экспорта из экселя?).
 
 Почему не имеет смысл? Многоточие оно вполне имеет смысл.

  Блин, это ж многоточие ... Тогда да, полезный символ.
  
   Во-вторых, было бы неплохо расширить возможности _утилиты_ iconv на предмет
  поведения в случае невозможности перевода - типа либо останов, либо пропуск
  символа, либо оставить как есть, либо замена чем-нить другим (типа пробела)
  либо перевод в mnemonic unicode (типа horizontal-elipsis в нашем случае).
 
 
 Для большинства подобного рода символов существуют довольно приличные
 замены на комбинации из нескольких символов. 
 
 В свое время, когда я писал catdoc версии 0.90 я там предусмотрел подобную
 ситуацию.
 
 И в существующем дистрибутивном файле ascii.replchars horizontal ellipsis
 заменяется именно на ...
 
 Точнее, у меня там используется трехуровневая замена
 1. Смотрим есть ли данный unicode символ в таблице specchars
  (например \ в случае если выходной формат TeX или  в случае HTML)
  Если нашли, то выводим заменитель из данной таблицы и идем на следующий
  unicode символ 
 2. Пытаемся перекодировать в выходной charset. Если получилось, выводим
 то, что получилось
 3. Если шаг 2 был безуспешный, ищем в таблице заменителей (а в ней есть
 много чего - корректная транслитерация всей кириллицы, отображение букв
 latin 1 на буквы с порезанными умляутами etc, причем для каждого выходного
 формата она своя, с учетом того, что те же TeX и HTML имеют специальные
 управляющие последовательности для многих интересных printablе символов.
 4. Если и это не спасло, то в зависимости от режима выводим либо
 универсальный символ-заменитель (обычно ?) либо 16-ричный код данного
 Unicode-символа.
 
 Но чтобы обламываться и выпадать с ошибкой...

  В принципе, наверное будет действительно лучше использовать такую
очеловечивающую перекодировку (типа horizontal elipsis - ...)  - раньше я о
ней думать не хотел, а сейчас посмотрел таблицы с заменами от lynx'а
(в файлах src/chartrans/{rfc_suni.tbl,mnem_suni.tbl,mnem2_suni.tbl}) - они не
такие уж и большие килобайт 30 в бинарнике будут занимать - наверно дадут
maintainer'ы glibc их в утилиту iconv вставить.

  --
 Victor Wagner [EMAIL PROTECTED]
 ProgrammerOffice:7-(095)-785-09-72
 Institute for CommerceHome: 7-(095)-135-46-61
 Engineering http://www.ice.ru/~vitus
 
 
 --  
 To UNSUBSCRIBE, email to [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
 

 Best regards,
  -Vlad


Re: перекодировка

2000-07-14 Пенетрантность Aigars Mahinovs


Konstantin Kubatkin wrote:
  а кто чем пользуется для перекодировки текстов из различных кодировок?
 например из CP866 в KOI8-R? у меня есть alt2koi8 и koi82alt, но они
 требуют libc5, а с recode из поставки Debian я не смог разобраться

А я изпользую re :

http://www.zednet.lv/~aigarius/debs.html

http://www.zednet.lv/~aigarius/re_0.1-1_i386.deb

Это порт Russian Anywhere из виндозы.


-- 
Mail You Later!

Aigarius
[EMAIL PROTECTED]

---
Origin: Not enough hard drive space... please delete windows. PLEASE!!!
---




перекодировка

2000-07-11 Пенетрантность Dmitry Turevsky
Hello Alexander,

понедельник, 10 июля 2000 г., you wrote:

 KK  а кто чем пользуется для перекодировки текстов из различных кодировок?
 KK например из CP866 в KOI8-R? у меня есть alt2koi8 и koi82alt, но они
 KK требуют libc5, а с recode из поставки Debian я не смог разобраться 
 
 [EMAIL PROTECTED]:~$ dpkg -S iconv
 libc6: /usr/share/man/man1/iconv.1.gz
 libc6: /usr/bin/iconv

AK BTW, iconv -- глючная штука, выпадала у меня при перекодировке 
cp1251-koi8-r,
AK да и работает с libc6.1

Ну не знаю. Стоит у меня потата. Веб мне дизайнят в 1251. Перегоняю
iconv'ом - проблем нет.

Best regards,
 Dmitry

--
My   E-Mail: mailto:[EMAIL PROTECTED]
My  PGP key: http://www.lim.ru/~dimon/dimonkey.txt
Fingerprint: 5C 0B 61 83 4C A2 DD 84  B9 C3 E6 E7 25 91 69 48
--




Re: перекодировка

2000-07-11 Пенетрантность Vlad Harchev
On Mon, 10 Jul 2000, Alexander Kotelnikov wrote:

 On Mon, Jul 10, 2000 at 09:22:16PM +0500, Vlad Harchev wrote:
  On Mon, 10 Jul 2000, Alexander Kotelnikov wrote:
  
   BTW, iconv -- глючная штука, выпадала у меня при перекодировке 
   cp1251-koi8-r,
   да и работает с libc6.1
  
   Даже падала? Прямо-таки не верится. А не сохранился ли файл на котором она
  упала?
 
 не падала, а выпадала:
 iconv: illegal input sequence at position 34322
 
 файл прилагаю

   Спасибо за файл. 
   Да, iconv в glibc гнилой - наверно просто не с каждым символом из диапазона
0-255 ассоциирует символ unicode. Ни у кого исходников glibc нет под рукой?
Что там используется для реализации iconv? Есть либа под названием libiconv
(по-моему ее bsd'шная libc использует - так вот при линковке с ней все
нормально проходит на данном файле).

 
 -- 
 Alexander Kotelnikov
 Saint-Petersburg, Russia
 

 Best regards,
  -Vlad



Re: перекодировка

2000-07-11 Пенетрантность Alexander Kotelnikov
On Tue, Jul 11, 2000 at 06:17:33PM +0500, Vlad Harchev wrote:
 On Mon, 10 Jul 2000, Alexander Kotelnikov wrote:
 
  On Mon, Jul 10, 2000 at 09:22:16PM +0500, Vlad Harchev wrote:
   On Mon, 10 Jul 2000, Alexander Kotelnikov wrote:
   
BTW, iconv -- глючная штука, выпадала у меня при перекодировке 
cp1251-koi8-r,
да и работает с libc6.1
   
Даже падала? Прямо-таки не верится. А не сохранился ли файл на котором 
   она
   упала?
  
  не падала, а выпадала:
  iconv: illegal input sequence at position 34322
  
  файл прилагаю
 
Спасибо за файл. 
Да, iconv в glibc гнилой - наверно просто не с каждым символом из диапазона
 0-255 ассоциирует символ unicode. Ни у кого исходников glibc нет под рукой?

вероятно :)

 Что там используется для реализации iconv? Есть либа под названием libiconv

iconv часть libc6 вроде бы.


-- 
Alexander Kotelnikov
Saint-Petersburg, Russia



Re: перекодировка

2000-07-11 Пенетрантность Vlad Harchev
On Tue, 11 Jul 2000, Alexander Kotelnikov wrote:

 On Tue, Jul 11, 2000 at 06:17:33PM +0500, Vlad Harchev wrote:
  On Mon, 10 Jul 2000, Alexander Kotelnikov wrote:
  
   On Mon, Jul 10, 2000 at 09:22:16PM +0500, Vlad Harchev wrote:
On Mon, 10 Jul 2000, Alexander Kotelnikov wrote:

 BTW, iconv -- глючная штука, выпадала у меня при перекодировке 
 cp1251-koi8-r,
 да и работает с libc6.1

 Даже падала? Прямо-таки не верится. А не сохранился ли файл на котором 
она
упала?
   
   не падала, а выпадала:
   iconv: illegal input sequence at position 34322
   
   файл прилагаю
  
 Спасибо за файл. 
 Да, iconv в glibc гнилой - наверно просто не с каждым символом из 
  диапазона
  0-255 ассоциирует символ unicode. Ни у кого исходников glibc нет под рукой?
 
 вероятно :)
 
  Что там используется для реализации iconv? Есть либа под названием libiconv
 
 iconv часть libc6 вроде бы.

 Это то да, только вот какая там реализация - своя собственная или на основе
старой весрии libiconv. Как я сказал, у версии libiconv-1.0 все ок с этим
файлом.

 
 -- 
 Alexander Kotelnikov
 Saint-Petersburg, Russia
 

 Best regards,
  -Vlad



перекодировка

2000-07-10 Пенетрантность Konstantin Kubatkin

 а кто чем пользуется для перекодировки текстов из различных кодировок?
например из CP866 в KOI8-R? у меня есть alt2koi8 и koi82alt, но они
требуют libc5, а с recode из поставки Debian я не смог разобраться 

-- 
Konstantin Kubatkin
KK4501-RIPE, Kherson, TriLogiC Group
Fido: 2:468/[EMAIL PROTECTED]



Re: перекодировка

2000-07-10 Пенетрантность Alexey Vyskubov
  а кто чем пользуется для перекодировки текстов из различных кодировок?

tcs из поставки Debian.

-- 
Alexey Vyskubov
(at home)
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!



Re: перекодировка

2000-07-10 Пенетрантность Dmitry Turevsky
Hello Konstantin,

понедельник, 10 июля 2000 г., you wrote:


KK  а кто чем пользуется для перекодировки текстов из различных кодировок?
KK например из CP866 в KOI8-R? у меня есть alt2koi8 и koi82alt, но они
KK требуют libc5, а с recode из поставки Debian я не смог разобраться 

[EMAIL PROTECTED]:~$ dpkg -S iconv
libc6: /usr/share/man/man1/iconv.1.gz
libc6: /usr/bin/iconv

Best regards,
 Dmitry

--
My   E-Mail: mailto:[EMAIL PROTECTED]
My  PGP key: http://www.lim.ru/~dimon/dimonkey.txt
Fingerprint: 5C 0B 61 83 4C A2 DD 84  B9 C3 E6 E7 25 91 69 48
--




Re: перекодировка

2000-07-10 Пенетрантность Alexander Kotelnikov
On Mon, Jul 10, 2000 at 04:13:08PM +0400, Dmitry Turevsky wrote:
 Hello Konstantin,
 
 понедельник, 10 июля 2000 г., you wrote:
 
 
 KK  а кто чем пользуется для перекодировки текстов из различных кодировок?
 KK например из CP866 в KOI8-R? у меня есть alt2koi8 и koi82alt, но они
 KK требуют libc5, а с recode из поставки Debian я не смог разобраться 
 
 [EMAIL PROTECTED]:~$ dpkg -S iconv
 libc6: /usr/share/man/man1/iconv.1.gz
 libc6: /usr/bin/iconv

BTW, iconv -- глючная штука, выпадала у меня при перекодировке cp1251-koi8-r,
да и работает с libc6.1

С recode все примерно так:
$ recode ms_cyr..KOI8-R winfile
с konwert:
$ konwert cp1251-koi8r winfile


-- 
Alexander Kotelnikov
Saint-Petersburg, Russia



Re: перекодировка

2000-07-10 Пенетрантность Victor Wagner
On Mon, 10 Jul 2000, Konstantin Kubatkin wrote:

 From: Konstantin Kubatkin [EMAIL PROTECTED]
 Subject: перекодировка
 X-Mailer: Mozilla 4.73 [en] (X11; I; Linux 2.2.15 i586)
 
 
  а кто чем пользуется для перекодировки текстов из различных кодировок?
 например из CP866 в KOI8-R? у меня есть alt2koi8 и koi82alt, но они
 требуют libc5, а с recode из поставки Debian я не смог разобраться 

Tcl 8.2

-- 
Victor Wagner   [EMAIL PROTECTED]
Programmer  Office:7-(095)-785-09-72
Communiware.Net Home: 7-(095)-135-46-61
http://www.communiware.net  http://www.ice.ru/~vitus



Re: перекодировка

2000-07-10 Пенетрантность Vladimir Kekukh
ftp://lml.bas.bg/home/anton/debian/2.1/trscripts_1.0-1_all.deb

Konstantin Kubatkin wrote:
 
  а кто чем пользуется для перекодировки текстов из различных кодировок?
 например из CP866 в KOI8-R? у меня есть alt2koi8 и koi82alt, но они
 требуют libc5, а с recode из поставки Debian я не смог разобраться
 
 --
 Konstantin Kubatkin
 KK4501-RIPE, Kherson, TriLogiC Group
 Fido: 2:468/[EMAIL PROTECTED]
 
 --
 To UNSUBSCRIBE, email to [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: перекодировка

2000-07-10 Пенетрантность Vlad Harchev
On Mon, 10 Jul 2000, Alexander Kotelnikov wrote:

 On Mon, Jul 10, 2000 at 04:13:08PM +0400, Dmitry Turevsky wrote:
  Hello Konstantin,
  
  понедельник, 10 июля 2000 г., you wrote:
  
  
  KK  а кто чем пользуется для перекодировки текстов из различных кодировок?
  KK например из CP866 в KOI8-R? у меня есть alt2koi8 и koi82alt, но они
  KK требуют libc5, а с recode из поставки Debian я не смог разобраться 
  
  [EMAIL PROTECTED]:~$ dpkg -S iconv
  libc6: /usr/share/man/man1/iconv.1.gz
  libc6: /usr/bin/iconv
 
 BTW, iconv -- глючная штука, выпадала у меня при перекодировке cp1251-koi8-r,
 да и работает с libc6.1

 Даже падала? Прямо-таки не верится. А не сохранился ли файл на котором она
упала?
 
 -- 
 Alexander Kotelnikov
 Saint-Petersburg, Russia
 

 Best regards,
  -Vlad



Re: перекодировка

2000-07-10 Пенетрантность Alexander Kotelnikov
On Mon, Jul 10, 2000 at 09:22:16PM +0500, Vlad Harchev wrote:
 On Mon, 10 Jul 2000, Alexander Kotelnikov wrote:
 
  BTW, iconv -- глючная штука, выпадала у меня при перекодировке 
  cp1251-koi8-r,
  да и работает с libc6.1
 
  Даже падала? Прямо-таки не верится. А не сохранился ли файл на котором она
 упала?

не падала, а выпадала:
iconv: illegal input sequence at position 34322

файл прилагаю

-- 
Alexander Kotelnikov
Saint-Petersburg, Russia


Pr.txt.gz
Description: Binary data