2009-03-27 23 views

Trả lời

19

Ubuntu có recode

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

Đệ quy, nhờ Ted Dziuba:

$ find . -name "*.php" -exec recode UTF-8..latin1 {} \; 
+1

recode là một chương trình Linux khá chuẩn - không quá tiêu chuẩn mà nó luôn luôn được cài đặt theo mặc định, nhưng nó nên có sẵn trên tất cả các bản phân phối, không chỉ là Ubuntu. –

+0

Tôi có thể làm điều này đệ quy như thế nào? – Svish

+0

Đệ quy, nó tìm thấy. -name "* .php" -exec recode UTF-8..latin1 {} \; –

9

Tôi nghĩ iconv là câu trả lời của bạn ...

Mẫu người đàn ông 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. 

     ..... 

Vì vậy, bạn có thể có thể làm một

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

này sẽ đệ quy tìm tập tin có tên thích hợp và mã hóa lại chúng (tệp tạm thời là cần thiết, vì biểu tượng sẽ cắt bớt đầu ra trước khi bắt đầu hoạt động).

Các vấn đề liên quan