bash: iconv İpuçları (iconv tips)

Bir dosyanın karakter kodlamasını değiştirmek için kullanılan komuttur.

 

Örnek:

iconv -f iso-8859-1 -t utf-8 messages.php > messages.utf8.php

Yukarıdaki komut ile iso-8859-1 ile kodlanmaış messages.php dosyasnın karakter kodlaması utf-8’e dönüştürülüyor.

 

-l Parametresi

Bu parametre tüm bilinen kodlama karakter seti listesini verir.

 

//IGNORE Parametresi

Eğer çıktıdaki geçersiz karakterleri gözardı etmek isteniyorsa //IGNORE parametresi kullanılmalı.

Örneğin utf-8’deki ş, ö karakterler iso-8859-1’da mevcut değildir. Eğer //IGNORE parametresiz bu dönüştürme yapılırsa aşağıdakine benzer hata alınır:

iconv -f utf-8 -t iso-8859-1 messages.php
iconv: illegal input sequence at position 0

Bu hataya rağmen dönüştürme yapmak için aşağıdaki şekilde kullanılmalı:

iconv -f utf-8 -t iso-8859-1//IGNORE messages.php

 

– c Parametresi

Bu parametre yaklaşık //IGNORE ile aynı işi görür. -c parametresi ve //IGNORE arasındaki fark, //IGNORE geçersiz karakterleri gözardı ederek dönüştürmeyi yapar fakat hata olursa yine yansıtır. -c parametresi ise hata göstermeden ilgili geçersiz karakterleri gözardı eder.

iconv -c -f utf-8 -t iso-8859-1 messages.php

 

//TRANSLIT Parametresi

Eğer hedef karakter kodlamasında karşılığı bulunmayan karakterlerin uygun şekilde dönüştürülmesi istenirse //TRANSLIT parametresi kullanılmalı.

Örneğin utf-8’dan ş, ö, ğ, ç gibi karakterleri ascii’ye dönüştürürken bu karakterlerin s, o, g, c gibi karakterlere dönüşmesi istenirse:

echo "ş ç ö ğ" | iconv -f utf-8 -t ascii//TRANSLIT
s c o g