Конвертирует все файлы с расширением имени файла .php
- в текущем каталоге и его подкаталогах - сохраняя структуру каталога:
find . -name "*.php" -exec sh -c "iconv -f ISO-8859-1 -t UTF-8 {} > {}.utf8" \; -exec mv "{}".utf8 "{}" \;
Примечания:
Чтобы получить список Для файлов, которые будут предварительно нацелены, просто запустите команду без флагов -exec
(например: find . -name "*.php"
). Создание резервной копии - хорошая идея.
Подобное использование sh
позволяет передавать и перенаправлять с -exec, что необходимо, поскольку не все версии iconv поддерживают флаг -o
.
Добавление .utf8
к имени файла вывода и последующее удаление может показаться странным, но это необходимо. Использование одного и того же имени для выходных и входных файлов может вызвать следующие проблемы:
Для больших файлов (по моему опыту около 30 КБ) это вызывает дамп ядра (или termination by signal 7
)
Некоторые версии iconv создают выходной файл до того, как прочитают входной файл, что означает, что если входные и выходные файлы имеют одинаковые имена, входной файл перезаписывается пустым файл до его прочтения.
Приложения обычно указывают на окно и пытаются получить эта информация из файла xaml; но у вас есть ссылка в вашем xaml-файле, которую Visual Studio не может определить ..
xmlns:src="clr-namespace:MyApplication;assembly=WpfTestApplication"
Итак, VS не может проанализировать ваш xaml-файл и, таким образом, выдает ту ошибку ...
Мое предложение: переопределить окно или использовать расширения в приложении , примерно так:
public static class ApplicationExtensions
{
public static string GetAwesomeName(this Application)
{
return "I am an awesome application";
}
}
Используйте его так:
Application.Current.GetAwesomeName();