Кодировка в mp3-тегах ID3.

Список разделов Другое Архив

Описание: Архив старых тем.

Сообщение #1 Hedin » 13.07.2006, 13:29

Имеем музыку с тегами в кодировке win1251.
После любых изменений тегов содержащих русские буквы foobar меняет кодировку на какую-то разновидность юникода (какую?).
Как можно избежать этого? Или хотя бы исправить после изменения?
Hedin M
Автор темы
Репутация: 0
С нами: 18 лет 4 месяца

Сообщение #2 Kildor » 13.07.2006, 13:32

меняет на UTF-8
а избежать… afaik никак, разве что после каждого изменения масстегером проходить, с принудительной записью в $ansi() (b то не уверен что так можно сделать)
Kildor M
Откуда: Новосибирск
Репутация: 0
С нами: 18 лет 6 месяцев

Сообщение #3 Hedin » 13.07.2006, 13:51

Что нужно чтобы работала функция $ansi() ?
А то создание в масстаггере скрипта Set "TITLE" = "$ansi(%title%)" тупо пишет в TITLE строку "$ansi(%title%)"...
Hedin M
Автор темы
Репутация: 0
С нами: 18 лет 4 месяца

Сообщение #4 DruiD » 13.07.2006, 13:56

Set "TITLE" = "$ansi(%title%)
format value from other fields а не set
DruiD M
Аватара
Откуда: Зеленоград
Репутация: 5
С нами: 18 лет 6 месяцев

Сообщение #5 Hedin » 13.07.2006, 14:19

Так уже поле не затирает, но и нужного результата тоже не получается.  :-(
Нашел некий foo_masstag_addons.dll - там как раз изменение кодовых страниц можно делать... но именно преобразование в win1251 ничего не дает. :(
Hedin M
Автор темы
Репутация: 0
С нами: 18 лет 4 месяца

Сообщение #6 Elzor » 13.07.2006, 16:53

А если в File info поставить Override codepage?
Elzor M
Аватара
Откуда: г. Орск
Репутация: 0
С нами: 18 лет 6 месяцев

Сообщение #7 Hedin » 13.07.2006, 17:45

File info - это foo_infobox.dll ?
Не помогает.

Судя по тому что при выборе других кодировок кодировка тегов меняется тут же, а при выборе win1251 остаётся неизменно на русском - плагин считает что текст и так в этой кодировке.
Но при этом при сохранении тегов и последующего просмотра в других программах теги выглядят как юникод.
Hedin M
Автор темы
Репутация: 0
С нами: 18 лет 4 месяца

Сообщение #8 Elzor » 13.07.2006, 19:11

Выложи куда-нибудь мелкий файлик. Мелкий - желательно самый маленький :)
Elzor M
Аватара
Откуда: г. Орск
Репутация: 0
С нами: 18 лет 6 месяцев

Сообщение #9 4kin » 13.07.2006, 19:45

Hedin:Имеем музыку с тегами в кодировке win1251.
После любых изменений тегов содержащих русские буквы foobar меняет кодировку на какую-то разновидность юникода (какую?).
Как можно избежать этого? Или хотя бы исправить после изменения?
Вот посмотри http://sourceforge.net/projects/libiconv/
Я скачал, поставил, один раз запросил теги для альбома с freedb.org (плюгин masstagger) в появившемся окне установил нужную кодировку и забыл ету проблему на всегда.
Ет все работает на ver.0.8.3-full  продругие не знаю не проверял. На 0,9 работать не будет! Плюгин там другой.
4kin
Репутация: 0
С нами: 18 лет 4 месяца

Сообщение #10 Hedin » 13.07.2006, 22:20

вот архив с двумя mp3: http://slil.ru/22921526
normal.mp3 - оригинальный файл с тегами в win-кодировке
damaged.mp3 - файл после удаления из него двух лишних тегов, после чего оставшиеся поля были сохранены в юникоде.
Hedin M
Автор темы
Репутация: 0
С нами: 18 лет 4 месяца

Сообщение #11 Elzor » 13.07.2006, 22:48

Хы.
Код: Выделить всё
ID3 Tag Version    : 2.4.0
Если кратко: кроме фубара его пока никто не понимает правильно. Проблема в этом, а не в кодировке. И еще: там только ID3v2. Разреши использование ID3v1 и будет тебе счастье.
Elzor M
Аватара
Откуда: г. Орск
Репутация: 0
С нами: 18 лет 6 месяцев

Сообщение #12 Hedin » 13.07.2006, 23:35

А где можно увидеть какая именно версия тега в файле?
Но вообще версия тут не причем, т.к. Tag & Rename, например, всё остальное прекрасно воспринимает. Вот только UTF-8 не поддерживает.  :-(

Проблема же фубара видимо в том что в стандарте тегов версии 2.4.0 перечислены только UTF-8, -16, -16BE и ISO-8859-1 в качестве дозволеных и он этому жестко следует, перекодируя в юникод всё что ему дадут.
Hedin M
Автор темы
Репутация: 0
С нами: 18 лет 4 месяца

Сообщение #13 Elzor » 14.07.2006, 07:35

Hedin:А где можно увидеть какая именно версия тега в файле?
Я в Lister от TC посмотрел. Там у меня правда какой-то плаг стоит. Не помню названия - давно ставил..
Hedin:Проблема же фубара видимо в том что в стандарте тегов версии 2.4.0 перечислены только UTF-8, -16, -16BE и ISO-8859-1 в качестве дозволеных и он этому жестко следует, перекодируя в юникод всё что ему дадут.
Проблема не в фубаре, который строго следует стандартам, проблема так где им не следуют.
Да ничего страшного, пройдет пара месяцев, винамп научиться такие теги понимать, MS под свой плейер какую-нибудь заплатку выкенет...
Не хочеш таких проблем - запрети ID3v2. Хотя я вообще проблемы не вижу.
Elzor M
Аватара
Откуда: г. Орск
Репутация: 0
С нами: 18 лет 6 месяцев

Сообщение #14 Hedin » 14.07.2006, 10:53

Да нет, проблема и в фубаре тоже. Если он так хорошо следует стандартам - пускай дает возможность выбора хотя бы разрешённых кодировок.

В этом плане правда непонятен смысл плагина foo_masstag_addons.dll - какую кодировку в нем не выберешь, текст вначале переводится в неё, а потом ещё и в UTF-8. В результате получается полная дребедень.

Не хочеш таких проблем - запрети ID3v2.
Ну да. А можно вообще теги не использовать - всю инфу в имени файла держать.
Вообще, как выяснилось, проблема менее серьёзная чем я думал, так что попробую оставить теги как есть.
Hedin M
Автор темы
Репутация: 0
С нами: 18 лет 4 месяца

Сообщение #15 Elzor » 14.07.2006, 11:47

Hedin:Если он так хорошо следует стандартам - пускай дает возможность выбора хотя бы разрешённых кодировок.
Представляешь - позволяет :) Смотри ниже.
Hedin:В этом плане правда непонятен смысл плагина foo_masstag_addons.dll - какую кодировку в нем не выберешь, текст вначале переводится в неё, а потом ещё и в UTF-8
Без проблем перекодировал из UTF-8 в ISO-8859-1

А в случае с ID3v1 - он честно конвертит однабайтовые кодировки.
Elzor M
Аватара
Откуда: г. Орск
Репутация: 0
С нами: 18 лет 6 месяцев

Сообщение #16 Hedin » 14.07.2006, 12:59

Во-первых, я говорил про foobar, а не плагин к плагину. :)
Во-вторых, сконвертил при помощи foo_masstag_addons.dll теги в UTF-8 в ISO-8859-1.
Смотрю в FAR по F3 файл. Там явно видно, что "поверх" ISO теги были сконверчены в UTF-8. :)

Так что изменение кодировки тегов в масстеггере не имеет отношения к тому что сохраняется собственно в файл - перед этим foobar всё равно переводит текст в UTF-8.  :-|
Hedin M
Автор темы
Репутация: 0
С нами: 18 лет 4 месяца

Сообщение #17 Elzor » 14.07.2006, 19:10

Hedin:Во-вторых, сконвертил при помощи foo_masstag_addons.dll теги в UTF-8 в ISO-8859-1.
Смотрю в FAR по F3 файл. Там явно видно, что "поверх" ISO теги были сконверчены в UTF-8.
Естественно, ISO-8859-1 является однобайтной кодировкой и не поддерживает кирилицу. А вот если тег без кирилицы - кодировка у него меняется.
Вполне логичное поведение, я считаю.
Во-первых, я говорил про foobar, а не плагин к плагину.
Так вся прелесть фубара - в плагинах. Павловски иногда некоторые функции переносит из ядра в плагины. Что вполне логично - не всем все функции нужны.
Elzor M
Аватара
Откуда: г. Орск
Репутация: 0
С нами: 18 лет 6 месяцев

Сообщение #18 Hedin » 15.07.2006, 03:08

Да причем тут кирилица? ISO эта и так является допустимой кодировкой по стандарту, так какой смысл её в UTF конвертить дополнительно? Так что разговор о поддержке стандартов похоже пустая болтовня. *упал*
Вообще конечно, заложенность в стандарт подобных ограничений - это уже неправильно.

В данном случае никакой прелести от этого плагина нету, т. к. вся его работа сводится на нет самим foobar'ом.  :-(
Hedin M
Автор темы
Репутация: 0
С нами: 18 лет 4 месяца

Сообщение #19 argilius » 22.07.2006, 14:35

был 0.9.2. ретривил кирилические таги с freedb нормально. делаю тоже самое в 0.9.3 beta 2 - кряказябли. везде. старые таги полученые в 0.9.2 показывает нормально. в факе есть описание как фиксить. но оно судя по всему к 0.8.х относится. дык собсно, как фиксить?
argilius
Репутация: 0
С нами: 18 лет 4 месяца

Сообщение #20 Tha Dogg » 12.08.2006, 12:31

блин практически тажа проблема :(((
а есть ли возможность foo_id3v2.dll переделать под 9 версию , да и инфобокс на мой взгляд более информационый в 8 был
Tha Dogg
Репутация: 0
С нами: 18 лет 3 месяца

След.

Вернуться в Архив