Преобразование веб-страниц из UTF-8 в ISO-8859-1 в Linux - PullRequest
9 голосов
/ 27 марта 2009

У кого-нибудь есть хитрость в том, как преобразовать несколько файлов php и html из UTF-8 в ISO-8859-1 в Linux (Ubuntu)?

Ответы [ 2 ]

19 голосов
/ 27 марта 2009

Ubuntu имеет перекодировать

$ sudo apt-get install recode
$ recode UTF-8..latin1 *.php

Рекурсивно, благодаря Теду Дзюбе :

$ find . -name "*.php" -exec recode UTF-8..latin1 {} \;
9 голосов
/ 27 марта 2009

Я думаю, что iconv это ваш ответ ...

Форма man iconv:

  NAME
      iconv - Convert encoding of given files from one encoding to another

  SYNOPSIS
      iconv -f encoding -t encoding inputfile

  DESCRIPTION
      The iconv program converts the encoding of characters in inputfile from one coded 
      character set to another. The result is written to standard output unless otherwise 
      specified by the --output option.

      .....

Так что вы могли бы сделать

find $my_base_dir -name "*.php" -o -name "*.html" -exec sh -c "( \
   iconv -t ISO88592 -f UTF8 {} -o {}.iconv ; \
   mv {}.iconv {} ; \
)" \;

Это рекурсивно найдет файлы с соответствующими именами и перекодирует их (временный файл необходим, так как iconv урезает вывод перед началом работы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...