Вот что я получил:
path_js = 'path/to/a/js/file.js'
path_new_js = 'path/where/the/converted/file/should/go.js'
puts('iconv -f utf-16le -t utf-8 ' + path_js + ' > ' + path_new_js)
system('iconv -f utf-16le -t utf-8 ' + path_js + ' > ' + path_new_js)
Вывод инструкции put:
iconv -f utf-16le -t utf-8 path/to/1-1-2_E1_MC105.js > compiled/path/to/1-1-2_E1_MC105.js
Если я копирую и вставляю ту же самую строку в моем терминале, происходит преобразованиеуспешно, но когда он запускается внутри моего скрипта ruby, новый файл создается с той же кодировкой, что и исходный файл (в данном случае utf-16).Любые идеи о том, что отсутствует / не так?
Приветствия!
Обновление: Я на Mac OS X Snow Leopard и я попробовал тот же скрипт, используя ruby 1.8.7(система по умолчанию) и 1.9.2 (Устанавливается с использованием RVM).Я также попробовал следующее:
f = File.open(path_js,'rb')
js = f.read
f.close
new_js = Iconv.conv('utf-8', 'utf-16', js)
File.open(path_new_js,'w'){|f| f.write(new_js)}
С тем же результатом: S