fast-je
@fast-je
Пишу на php.

Как переконвертировать файлы проекта из CP866 в UTF-8?

В общем, нужно переконвертировать файлы проекта из кодировки cp866 в utf-8.
Пробую так
find project/method_pay -name "*.*" -exec iconv -f CP866 -t UTF-8 {} -o target/{} \;

Лезет такая ошибка
iconv: -o: No such file or directory
iconv: target/project/method_pay/method_pay_json.php: No such file or directory


Пробую еще через gulp
const gulp = require('gulp');
const convertEncoding = require('gulp-convert-encoding');

gulp.task('default', function () {
  return gulp.src('project/method_pay/*.*')
    // .pipe(convertEncoding({to: 'utf8'}))
    .pipe(convertEncoding({decode: 'CP866', encode: 'utf8'}))
    .pipe(gulp.dest('dist'));
});


Лезут такие ошибки
untitled@1.0.0 start /Users/fast/Sites/untitled
> gulp

[16:54:45] Using gulpfile ~/Sites/untitled/gulpfile.js
[16:54:45] Starting 'default'...
[16:54:45] 'default' errored after 8.48 ms
[16:54:45] Error in plugin 'gulp-convert-encoding'
Message:
    At least one of `from` or `to` required
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! untitled@1.0.0 start: `gulp`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the untitled@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/fast/.npm/_logs/2017-07-08T13_54_45_124Z-debug.log
BRAIN:untitled fast$


Может есть какой-то другой способ, ну или помогите с этими неработающими.
  • Вопрос задан
  • 2950 просмотров
Решения вопроса 1
@AVKor
enconv file.txt
dos2unix file.txt

Первая меняет кодировку (входная и выходная определяются автоматом; в Linux выходная по умолчанию - UTF-8).

Вторая меняет EOL.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Попробуйте Python
import codecs
import os

for root, dirs, files in os.walk('.'):
	for file in files:
		f = codecs.open(file, "r", "cp866")
		contents = f.read()
		f.close()
		f = codecs.open(file, "w", "utf-8")
		f.write(contents)
		f.close()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы