Приветствую!
Раньше я юзал RH7.3, и написал под него скрипт, который вытаскивает из всех mp3 файлов, в заданной папке, ID3 таг и складывает в БД... Всё было нормально, но теперь мне нужно перетащить этот скрипт с RH7.3 на RH9.0 и тут начинаются проблемы в виде русского языка... Вот как выглядит, например, название песни: Ãïèä
Я предполагаю, что это unicode, но как с ним бороться? Как увидеть родимую KOI-8 или Windows-1251, или на худой конец UTF-8???
Кстати, нашёл в CPAN модуль определения кодировки, применил - говорит: "SIMPLE LATIN", теперь делаю: iconv -f LATIN1 -t WINDOWS-1251 file.txt > file.new
В файле file.txt только та строка, которую я написал выше... Вот ответ: iconv: illegal input sequence at position 0
Значит не LITIN? Пробовал то же самое со всеми UNICODE - тот же эффект...
"Тихо сам с собою" :)
Дык вот, обнаружил программку xcode, которая определила мою кодировку как CP866 и даже перекодировала в нужную мне... Но меня это, честно говоря, мало устраивает: сильно увеличивается время обработки больших объёмов инфы... Но вопрос несколько изменился: почему perl в RH7.3 вытаскивал ID3 из mp3 и писал в файл на нормальном WIN-1251, а perl в RH9.0 в какой-то CP866? Как мне это починить?
И снова я... Интересный разговор получается :)Оказалось, что это никакой не CP866, а обычный UTF8... В PHP конвертится функцией: utf8_decode()... Теперь дело за малым: найти функцию, ответственную за это в Perl :)
я мучений с кодировкой UTF8 на RH8.0 не выдержал, перевел все на KOI8-R...
теперь таких проблем просто нет...
>я мучений с кодировкой UTF8 на RH8.0 не выдержал, перевел все на
>KOI8-R...
>теперь таких проблем просто нет...Как? Я бы тоже перевёл, если бы знал как :)
>>я мучений с кодировкой UTF8 на RH8.0 не выдержал, перевел все на
>>KOI8-R...
>>теперь таких проблем просто нет...
>
>Как? Я бы тоже перевёл, если бы знал как :)
в подробностях не расскажу, не помню уже...
поставил порядка десятка пакетов с http://www.linux-ink.ru/
в том числе шрифты, локали, MC...а вообще - широко продается RH9.0 Cyrillic Edition, это их рук дело!
там к стандарному RH добавляется еще диск с пакетами для русификации, думаю на нем есть все, что нужно...
[root@localhost temp]# cat /etc/sysconfig/i18n
LANG="ru_RU.KOI8-R"
SUPPORTED="en_US:en:ru_RU.KOI8-R:ru_RU:ru"SYSFONT="cyr-sun16"
SYSFONTACM="koi8-r"
[root@localhost temp]#+
ln -s /usr/lib/locale/ru_RU.koi8r ru_RU.KOI8-R
в RH 80 проблем с возвратом к к KOI было много, но в 9 этого как правило достаточно.
>[root@localhost temp]# cat /etc/sysconfig/i18n
>LANG="ru_RU.KOI8-R"
>SUPPORTED="en_US:en:ru_RU.KOI8-R:ru_RU:ru"
>
>SYSFONT="cyr-sun16"
>SYSFONTACM="koi8-r"
>[root@localhost temp]#
>
>+
>
>ln -s /usr/lib/locale/ru_RU.koi8r ru_RU.KOI8-R
>
>в RH 80 проблем с возвратом к к KOI было много, но
>в 9 этого как правило достаточно.iso'шники с www.redhat.com
>[root@localhost temp]# cat /etc/sysconfig/i18n
>LANG="ru_RU.KOI8-R"
>SUPPORTED="en_US:en:ru_RU.KOI8-R:ru_RU:ru"
>
>SYSFONT="cyr-sun16"
>SYSFONTACM="koi8-r"
>[root@localhost temp]#
>
>+
>
>ln -s /usr/lib/locale/ru_RU.koi8r ru_RU.KOI8-R
>
>в RH 80 проблем с возвратом к к KOI было много, но
>в 9 этого как правило достаточно.перед ru_RU.KOI8-R вижу символ подчеркивания - должен быть пробел
>ln -s /usr/lib/locale/ru_RU.koi8r ru_RU.KOI8-Rну и разумеется эту команду надо давать находясь в каталоге /usr/lib/locale