![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Ошибка перекодировки русских символов |
|
Любой язык - [решено] Ошибка перекодировки русских символов
|
Новый участник Сообщения: 27 |
Из bat файла, создаю текстовый файл, в который вносится переменная содержащая русские символы. Программа которая использует этот файл, видимо пытается перекодировать его в US ASCII. Пишет вот такую ерунду:
С какой-бы кодировкой я не создавал файл, получаю ошибку. Либо эту. Либо если создаю с его кодировкой, то вместо русских символов получаю ????.mpg Прочитал про утилиту recode, надеялся с её помощью попробовать выкрутиться - но нигде ее не нашёл. На wiki пишут "видимо прекратили поддержку". По ссылке с wiki закачки нет. Может ли кто нибудь подсказать мне, как мне выход из этой ситуации? |
|
Отправлено: 09:07, 16-02-2010 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать 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 ( rem Echo ^<?xml version="1.0" encoding="US-ASCII"?^> >config.xml ECHO ^<dvdauthor^> >config.xml ECHO ^<vmgm /^> >>config.xml ECHO ^<titleset^> >>config.xml ECHO ^<titles^> >>config.xml ECHO ^<pgc^> >>config.xml CHCP 65001| >>config.xml ECHO ^^^<vob file="%%b" /^^^> &CHCP 866 rem ECHO ^<vob file="%%b" /^> >>config.xml ECHO ^</pgc^> >>config.xml ECHO ^</titles^> >>config.xml ECHO ^</titleset^> >>config.xml ECHO ^</dvdauthor^> >>config.xml %compl% -o %%~nb -x config.xml ) Ответ: INFO: Locale=C INFO: Converting filenames to US-ASCII ERR: Cannot convert UTF8 string 'Р-Р°С:Р°С?РчР?РєР?1_1.mpg': Invalid or incomplete multibyte or wide character Дополнительно, попробовал деларировать кодировку xml US-ASCII(то что сейчас под ремаркой), получаю вот такое: config.xml:7: parser error : AttValue: ' expected <vob file="f:\remuxed\ ^ config.xml:7: parser error : attributes construct error <vob file="f:\remuxed\ ^ config.xml:7: parser error : Couldn't find end of Start Tag vob <vob file="f:\remuxed\ ^ ERR: Error in parsing XML Самое интересное, что с русскими папками эта прога работает номально. |
Отправлено: 11:47, 16-02-2010 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать taravasya, похоже, dvdauthor работает только с английскими именами в XML-файле... так что - либо искать другую утилиту, либо придумывать алгоритм временного переименования файлов перед их обработкой
|
Отправлено: 13:14, 16-02-2010 | #12 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата amel27:
Цитата amel27:
А что на счёт recode? Вы не знаете как с ней работать? Я же её в принципе нашел... но что-то никак не разберусь с синтаксисом. |
||
Отправлено: 13:40, 16-02-2010 | #13 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата taravasya:
Цитата taravasya:
|
||
Отправлено: 16:01, 16-02-2010 | #14 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата amel27:
@echo off set mx=mplex.exe -f 8 -o set compl=dvdauthor set demuxfld=f:\demuxed set remuxfld=f:\remuxed set outptfld=f:\compling call :xml for %%a in (%demuxfld%\*.mpv) do %mx% "%remuxfld%\%%~na.mpg" "%demuxfld%\%%~na.mpv" "%demuxfld%\%%~na.mpa" for %%b in (%remuxfld%\*.mpg) do ( ren "%%~fb" tempfile.mpg start /wait %compl% -o tempfile.mpg -x config.xml ren "%%~dpbtempfile.mpg" "%%~nb.mpg" ) goto :eof :xml echo ^<dvdauthor^> >config.xml echo ^<vmgm /^> >>config.xml echo ^<titleset^> >>config.xml echo ^<titles^> >>config.xml echo ^<pgc^> >>config.xml echo ^<vob file="tempfile.mpg" /^> >>config.xml echo ^</pgc^> >>config.xml echo ^</titles^> >>config.xml echo ^</titleset^> >>config.xml echo ^</dvdauthor^> >>config.xml |
|
Отправлено: 17:58, 16-02-2010 | #15 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать El Sanchez,
Что то видимо с goto не то? Исполнение проскакивает ремукс, создает xml файл где (<vob file="%b" />) ??? И уходит на запись. Писать нечего. И оно останавливается всё. Выкладываю текст всего проекта. Может я что-то натупил? rem Проверяем есть ли запланированное кодирование IF EXIST f:\Work\jobesecl\job.ecl ( Call :ccenc ) ELSE ( Call :mkdvd ) rem Вызываем CinemaCraft Encoder для выполнения задания :ccenc ccew -ecl f:\Work\jobesecl\job.ecl -batch rem Авторинг rem Приложения :mkdvd set mx=.\DVDauthor\mplex.exe -f 8 -o set compl=.\DVDauthor\dvdauthor set brnr="%programfiles%\Nero\Nero 9\Nero Express\NeroCmd.exe" --write --drivename g --iso photomir --DVD --dvdvideo_cmpt --create_iso_fs --create_udf_fs --iso-no-joliet --dvdvideo_realloc --recursive "f:\Work\compiled\ rem Папки set demuxfld=f:\work\demuxed set remuxfld=f:\work\remuxed set outptfld=f:\work\compiled call :xml rem Ремуксинг for %%a in (%demuxfld%\*.mpv) do %mx% %remuxfld%\%%~na.mpg %demuxfld%\%%~na.mpv %demuxfld%\%%~na.mpa rem Компиляция DVD for %%b in (%remuxfld%\*.mpg) do ( ren "%%~fb" tempfile.mpg start /wait %compl% -o tempfile.mpg -x config.xml ren "%%~dpbtempfile.mpg" "%%~nb.mpg" ) goto :eof :xml ECHO ^<dvdauthor^> >config.xml ECHO ^<vmgm /^> >>config.xml ECHO ^<titleset^> >>config.xml ECHO ^<titles^> >>config.xml ECHO ^<pgc^> >>config.xml ECHO ^<vob file="%%b" /^> >>config.xml ECHO ^</pgc^> >>config.xml ECHO ^</titles^> >>config.xml ECHO ^</titleset^> >>config.xml ECHO ^</dvdauthor^> >>config.xml rem Очистка remux файлов for %%c in (%remuxfld%\*) do ( Del %%c ) rem Запись DVD-Video rem for /D %%d in ("%outptfld%\*") do ( rem %brnr%%%~nd" rem ) echo "КОНЕЦ" Pause Exit |
Отправлено: 20:03, 16-02-2010 | #16 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата taravasya:
Покурил немного мануал и вот изменения @echo off rem Проверяем есть ли запланированное кодирование IF EXIST "f:\Work\jobesecl\job.ecl" ( Call :ccenc ) ELSE ( Call :mkdvd ) rem Вызываем CinemaCraft Encoder для выполнения задания :ccenc ccew -ecl "f:\Work\jobesecl\job.ecl" -batch rem Авторинг rem Приложения :mkdvd set mx=.\DVDauthor\mplex.exe -f 8 -o set compl=.\DVDauthor\dvdauthor.exe set brnr="%programfiles%\Nero\Nero 9\Nero Express\NeroCmd.exe" --write --drivename g --iso photomir --DVD --dvdvideo_cmpt --create_iso_fs --create_udf_fs --iso-no-joliet --dvdvideo_realloc --recursive "f:\Work\compiled\ rem Папки set demuxfld=f:\work\demuxed set remuxfld=f:\work\remuxed set outptfld=f:\work\compiled rem Ремуксинг for %%a in (%demuxfld%\*.mpv) do %mx% %remuxfld%\%%~na.mpg %demuxfld%\%%~na.mpv %demuxfld%\%%~na.mpa call :xml rem Компиляция DVD for %%b in (%remuxfld%\*.vob) do ( ren "%%~fb" tempfile.vob %compl% -o %outptfld% -x config.xml ren "%%~dpbtempfile.vob" "%%~nb.vob" ) rem Очистка remux файлов del %remuxfld% /F /Q rem Запись DVD-Video for /D %%d in ("%outptfld%\*") do %brnr%%%~nd" echo "КОНЕЦ" pause goto :eof :xml echo ^<dvdauthor^> >config.xml echo ^<vmgm /^> >>config.xml echo ^<titleset^> >>config.xml echo ^<titles^> >>config.xml echo ^<pgc^> >>config.xml echo ^<vob file="%remuxfld%\tempfile.vob" /^> >>config.xml echo ^</pgc^> >>config.xml echo ^</titles^> >>config.xml echo ^</titleset^> >>config.xml echo ^</dvdauthor^> >>config.xml |
|
Отправлено: 22:11, 16-02-2010 | #17 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Почти....
|
Отправлено: 04:40, 20-02-2010 | #18 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать taravasya, у утилиты ключ -o означает вывод в каталог, а никак не вывод в файл
Обновление кода @echo off rem Проверяем есть ли запланированное кодирование IF EXIST "f:\Work\jobesecl\job.ecl" ( Call :ccenc ) ELSE ( Call :mkdvd ) rem Вызываем CinemaCraft Encoder для выполнения задания :ccenc ccew -ecl "f:\Work\jobesecl\job.ecl" -batch rem Авторинг rem Приложения :mkdvd set mx=.\DVDauthor\mplex.exe -f 8 -o set compl=.\DVDauthor\dvdauthor.exe set brnr="%programfiles%\Nero\Nero 9\Nero Express\NeroCmd.exe" --write --drivename g --iso photomir --DVD --dvdvideo_cmpt --create_iso_fs --create_udf_fs --iso-no-joliet --dvdvideo_realloc --recursive "f:\Work\compiled\ rem Папки set demuxfld=f:\work\demuxed set remuxfld=f:\work\remuxed set outptfld=f:\work\compiled echo ^<dvdauthor^> >config.xml echo ^<vmgm /^> >>config.xml echo ^<titleset^> >>config.xml echo ^<titles^> >>config.xml echo ^<pgc^> >>config.xml echo ^<vob file="%remuxfld%\tempfile.vob" /^> >>config.xml echo ^</pgc^> >>config.xml echo ^</titles^> >>config.xml echo ^</titleset^> >>config.xml echo ^</dvdauthor^> >>config.xml rem Ремуксинг for %%a in (%demuxfld%\*.mpv) do %mx% %remuxfld%\%%~na.mpg %demuxfld%\%%~na.mpv %demuxfld%\%%~na.mpa rem Компиляция DVD for %%b in (%remuxfld%\*.vob) do ( md "%outptfld%\%%~nb" ren "%%~fb" tempfile.vob dvdauthor -o "%outptfld%\%%~nb" -x config.xml ren "%%~dpbtempfile.vob" "%%~nb.vob" ) rem Очистка remux файлов del %remuxfld% /F /Q rem Запись DVD-Video for /D %%d in ("%outptfld%\*") do %brnr%%%~nd" echo "КОНЕЦ" pause |
Отправлено: 09:09, 20-02-2010 | #19 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Эт я понимаю
![]() |
Отправлено: 11:56, 20-02-2010 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Проблема пакетной перекодировки файлов | 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 |
|