Encoding
EncodingНастройка сервера на FreeBSD 14.3 -> Кодировки
Когда необходимо перекодировать все файлы заданного типа в другую кодировку можно сделать это следующим образом.
Перекодирование с созданием резервных копий: find /home/example/public_html -name "*.txt" -type f -exec sh -c 'iconv -f WINDOWS-1251 -t UTF-8 "$1" > "$1.utf8" && mv "$1.utf8" "$1"' _ {} \;
Более сложный вариант: find /home/example/public_html -type f -name '*.txt' -print0 | xargs -0 -I{} sh -c 'f="$1"; if grep -Eqi "charset[[:space:]]*=[[:space:]]*[\"\x27]?windows-1251" -- "$f" || file -b --mime-encoding -- "$f" | grep -qi 1251; then t="$f.tmp"; t2="$f.tmp2"; iconv -f CP1251 -t UTF-8 -- "$f" > "$t" && perl -0777 -pe "s/(charset\\s*=\\s*[\"\\x27]?)(?:[Ww]indows-1251|[Ww]in-1251|[Cc][Pp]1251)([\"\\x27]?)/\\1utf-8\\2/g" -- "$t" > "$t2" && mv -- "$t2" "$f" && rm -f -- "$t"; fi' sh {}
Метки: encoding
Опрос
Адаптирован ли ваш сайт для смартфонов и планшетов? (голосов: 35)
- Да - 4 (11%)

- Нет - 2 (6%)

- Не знаю - 1 (3%)

- Нет сайта - 28 (80%)

