|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Ошибка перекодировки русских символов |
|
|
Любой язык - [решено] Ошибка перекодировки русских символов
|
Новый участник Сообщения: 27 |
Из bat файла, создаю текстовый файл, в который вносится переменная содержащая русские символы. Программа которая использует этот файл, видимо пытается перекодировать его в US ASCII. Пишет вот такую ерунду:
С какой-бы кодировкой я не создавал файл, получаю ошибку. Либо эту. Либо если создаю с его кодировкой, то вместо русских символов получаю ????.mpg Прочитал про утилиту recode, надеялся с её помощью попробовать выкрутиться - но нигде ее не нашёл. На wiki пишут "видимо прекратили поддержку". По ссылке с wiki закачки нет. Может ли кто нибудь подсказать мне, как мне выход из этой ситуации? |
|
Отправлено: 09:07, 16-02-2010 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать taravasya,
1. нужен пример батника и пример файла; 2. а если файл создать сразу в UTF-8, например блокнотом? |
Отправлено: 09:25, 16-02-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Дело в том, что в этот документ, записывается 5 пустых параметров, и 6-й. 6-й параметр - это имя файла, который в последствии предстоит обработать этой вредной программой. Файл этот может быть и не один. Их может быть много. И генерация текстового файла находится внутри цикла. По-очереди к каждому возможно присутствующему файлу. Однако я пробовал подсунуть созданный вручную файл - результат, тот-же.
Вот код bat-ника chcp 65001 set mx=mplex.exe -f 8 -o set compl=dvdauthor set demuxfld=f:\demuxed set remuxfld=f:\remuxed set outptfld=f:\compling for %%a in (%demuxfld%\*.mpv) do %mx% %remuxfld%\%%~na.mpg %demuxfld%\%%~na.mpv %demuxfld%\%%~na.mpa for %%b in (%remuxfld%\*) do ( ECHO ^<dvdauthor^> >config.txt ECHO ^<vmgm /^> >>config.txt ECHO ^<titleset^> >>config.txt ECHO ^<titles^> >>config.txt ECHO ^<pgc^> >>config.txt ECHO ^<vob file="%%b" /^> >>config.txt ECHO ^</pgc^> >>config.txt ECHO ^</titles^> >>config.txt ECHO ^</titleset^> >>config.txt ECHO ^</dvdauthor^> >>config.txt recode %compl% -o %%~nb -x config.txt ) Текстовый файл "приаттачил" Только что нашел этот recode. Сейчас разбираюсь с его синтаксисом. И во обще с тем, что он может. И сможет ли он мне помочь. PS/ Думаю поймёте, что это должен был быть xml. По-началу я его и создавал. Результат тот же. Объявлять кодировку xml, в начале файла пробовал. Как utf, так и windows-1251(Как правильно задать US-ASCII - не знаю. Но подозреваю, что если задам, то русские символы станут нечитаемы и в блакноте) |
Отправлено: 09:45, 16-02-2010 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:11, 16-02-2010 | #4 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Что то изменилось....
config.txt:6: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xC7 0xE0 0xF5 0xE0 ^ ERR: Error in parsing XML На сколько я понял, надо убрать в самом начале а вместо Вставить Вашу строчку? |
|
Отправлено: 10:30, 16-02-2010 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать taravasya, кодировка батника родная DOS/866
приложите текстовый файл, полученный батником кстати, ранее выложенный файл 100% рабочий? |
Отправлено: 10:46, 16-02-2010 | #6 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата amel27:
Теперь код выглядет так: rem set mx=mplex.exe -f 8 -o set compl=dvdauthor rem set demuxfld=f:\demuxed set remuxfld=f:\remuxed set outptfld=f:\compling rem for %%a in (%demuxfld%\*.mpv) do %mx% %remuxfld%\%%~na.mpg %demuxfld%\%%~na.mpv %demuxfld%\%%~na.mpa for %%b in (%remuxfld%\*) do ( ECHO ^<dvdauthor^> >config.txt ECHO ^<vmgm /^> >>config.txt ECHO ^<titleset^> >>config.txt ECHO ^<titles^> >>config.txt ECHO ^<pgc^> >>config.txt >>config.txt ECHO ^^^<vob file="%%b" /^^^> &CHCP 866 rem ECHO ^<vob file="%%b" /^> >>config.txt ECHO ^</pgc^> >>config.txt ECHO ^</titles^> >>config.txt ECHO ^</titleset^> >>config.txt ECHO ^</dvdauthor^> >>config.txt %compl% -o %%~nb -x config.txt ) Ошибка снова вот такая: |
|
Отправлено: 11:00, 16-02-2010 | #7 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Я прошу прощения....Совсем уже запутался.
bat сохранил в 866 текст батника выше указанный. Актуальный результат прилагаю к этому сообщению... В окне cmd вижу следующее config.txt:6: parser error : error parsing attribute name ^<vob file="f:\remuxed\Р-Р°С:Р°С?РчР?РєР?1_1.mpg" /^> ^ config.txt:6: parser error : attributes construct error ^<vob file="f:\remuxed\Р-Р°С:Р°С?РчР?РєР?1_1.mpg" /^> ^ config.txt:6: parser error : Couldn't find end of Start Tag vob ^<vob file="f:\remuxed\Р-Р°С:Р°С?РчР?РєР?1_1.mpg" /^> ^ ERR: Error in parsing XML |
Отправлено: 11:11, 16-02-2010 | #8 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата taravasya:
Цитата taravasya:
|
||
Отправлено: 11:21, 16-02-2010 | #9 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Этот файл абсолютно валидный, хоть txt хоть xml. Но если в нём нет русских букв. Тоесть в той же папке у меня лежит другой видео файл, с именем 001.mpg С этим файлом всё проходит без задоринки.
Цитата amel27:
|
|
Отправлено: 11:29, 16-02-2010 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Проблема пакетной перекодировки файлов | rBBWYwg | Microsoft Windows 2000/XP | 0 | 04-08-2009 16:57 | |
Пишем JavaScript перекодировки из кириллицы в латиницу | maasja | Вебмастеру | 16 | 08-06-2009 22:10 | |
Преобразование русских символов в адресной строке | Zalegajuschij | Хочу все знать | 6 | 26-02-2009 00:22 | |
Именение разрешния без перекодировки | zhecka | Видео и аудио: обработка и кодирование | 2 | 28-11-2006 18:04 | |
Монтирование разделов msdos с нормальным отображением русских символов | BurzumII | Общий по FreeBSD | 19 | 18-01-2005 15:58 |
|