| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Кодировка русских букв в MP3::Info |
| Автор: tishaishii 17.8.2007, 14:35 | ||||
| WinXP, Perl 5.8. У меня в папке навалено mp3шек. Пишу свой сортировщик на Perl.
Я ожидаю, что создам папку mp3, в которой буду создавать папки с названием исполнителя, в которые буду разносить mp3-файлы. Работает. Только, если автор или название песни написаны русскими буквами, то вместо cp1251, файлы и папки называются в какой-то, не знаю какой кодировке. Вижу кракозябры. Я заметил, что если изменить код так:
буквы становятся читабельными и всё делается как надо. Пытался выяснить кодировку с помощью Encode::Guess, Encode::Guess предположил, что это utf-32, однако, после преобразования Encode::from_to($title, 'utf-32', 'cp1251'), я снова получаю кроказябры. Помогите выровнять скрипт и определить кодировку, в которой выдаёт информацию mp3-тегов MP3::Info. И, если знаете почему, скажите: почему после записи\чтения в файл\из файла строка становится cp1251. |
| Автор: shamber 20.8.2007, 11:09 |
| определить кодировку? Может http://search.cpan.org/~foolfish/CharsetDetector-1.0.0/CharsetDetector.pm поможет или http://home.sinn.ru/~gosha/perl-scripts/ смотри Cyrillic |
| Автор: tishaishii 22.8.2007, 16:29 |
| Погляжу. Но всё-таки интересно, почему, после записи\чтения строки в файл, она меняет кодировку. |