Zmiana kodowania plików

Z Kolos Wiki
Wersja z dnia 13:52, 19 paź 2014 autorstwa Gstan (dyskusja | edycje)

(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Skocz do: nawigacja, szukaj

Podczas migracji w lutym 2013 roku pliki użytkowników zostały zmigrowane z systemu plików o domyślnym kodowaniu ISO 8859-2 na UTF-8. Podczas tej migracji dołożylismy wszelkich starań aby pliki zachowały poprawną strukturę (nie było w nich "krzaczków") lecz w wyniku niedopatrzenia mogliśmy coś pominąć. Poniżej instrukcje co należy zrobić w takich sytuacjach.


Aby sprawdzić jakie jest kodowanie danego pliku można użyc polecenia 'file'.

kolos ~ # file kalkulator.cc

kalkulator.cc: UTF-8 Unicode C++ program text Jeżeli kodowanie pliku jest inne niż "UTF-8 Unicode" i "ASCII" (pliki z kodowaniem ASCII nie wymagają konwersji) należy dany plik przekonwertować. Załóżmy, że mamy plik "zadania.text".

kolos ~ # file zadania.text
zadania.text: ISO-8859 text, with escape sequences

Do wykonania konwersji użyjemy polecenia 'recode'. Kodowanie pliku to najprawdopodobniej ISO 8859-2 (strona kodowa używana w Polsce). Aby przekonwertować plik należy wykonać polecenie

kolos ~ # recode iso-8859-2..utf-8 zadania.text
kolos ~ # file zadania.text
zadania.text: UTF-8 Unicode text

Taki plik można już edytować bez najmniejszych obaw. Trzeba również pamiętać, że jeżeli plik zawiera kod (X)HTML lub jest skryptem trzeba również zmienić wewnętrzną deklarację kodowania pliku o ile jest ona umieszczona. Dla plików .html zakodowanych w ISO 8859-2 trzeba zamienić

<meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />

na

<meta http-equiv="content-type" content="text/html; charset=utf-8" />