Strona 1 z 1
Automatyczna zmiana kodowania - bash
: 10 grudnia 2011, 14:39
autor: istrd
Witam
.
Chcę zmienić kodowanie w danym katalogu wszystkich plików. Do tego chcę użyć basha ale nie wiem jak przerobić skrypt tak aby z każdego kodowania zamieniał na ISO-8859-2.
Wydaje polecenie
dostaję taki wynik, kodowanie jakby jest nie znane.
Kod: Zaznacz cały
root@debian:/scripts/index# enca -i *add.phtml: ???
contact.phtml: ???
index.phtml: ???
poczekalnia.phtml: ???
random.phtml: ISO-8859-2
read.phtml: ???
top.phtml: ???
vote.phtml: ASCII
zmien.sh: ASCII
W skrypcie mam na razie tyle, bo tyle znalazłem w
sieci. Ale to zamienia tylko z UTF-8 do tego nie nadpisuje pliku tylko tworzy nowy, jak to zmieni
ć?
Kod: Zaznacz cały
#!/bin/sh
for file in *
do
iconv --from-code=UTF-8 --to-code=ISO-8859-2 $file > $file\_utf
done
: 10 grudnia 2011, 22:28
autor: maxdawid
Kod: Zaznacz cały
#!/bin/sh
for file in *
do
iconv -t ISO88592 $file > $file_1
mv $file_1 $file
done
: 11 grudnia 2011, 01:26
autor: istrd
Jak poradzić sobie z tymi znakami zapytania jakiego polecenia użyć żeby te zmieniły się na ISO-8859-2? Próbuje bez skryptu poleceniem enca troche plików się zmieniło ale tam gdzie kodowanie jest nieznane pojawia się błąd.
Kod: Zaznacz cały
root@debian:/home/istrd/tmp# enca -x ISO-8859-2 *enca: Cannot convert `addform.phtml' from unknown encoding
enca: Cannot convert `loginform.phtml' from unknown encoding
Kod: Zaznacz cały
addform.phtml: ???addvideoform.phtml: ???
addvideoform.phtml2: ???
contactform.phtml: ISO-8859-2
footer.phtml: ISO-8859-2
header.phtml: ISO-8859-2
komentform.phtml: ISO-8859-2
loginform.phtml: ???
My_pagination_control.phtml: ASCII
regform.phtml: ISO-8859-2
: 11 grudnia 2011, 22:20
autor: fnmirk
A podejrzałeś zawartość pliku, którego kodowanie nie zostało rozpoznane? U mnie tak są rozpoznawane np. pliki, które zawierają same cyfry lub adresy stron www. Podobnie mogą być rozpoznawane teksty korzystające z innych alfabetów (moje przypuszczenie).
: 11 grudnia 2011, 22:32
autor: istrd
fnmirk pisze:A podejrzałeś zawartość pliku, którego kodowanie nie zostało rozpoznane? U mnie tak są rozpoznawane np. pliki, które zawierają same cyfry lub adresy stron www. Podobnie mogą być rozpoznawane teksty korzystające z innych alfabetów (moje przypuszczenie).
Treść w tych plikach to html i php. Korzystam z Zend Framework'a. Spróbuje utworzyć nowe pliki, i skopiować zawartość do nowego i zapisać Vim'em z opcją np. se: enc=utf8
: 11 grudnia 2011, 23:05
autor: fnmirk
To wszystko się zgadza. Jeżeli jest przewaga kodu nad treścią, w której występują znaki tylko z zestawu ascii to taki plik nie ma prawa mieć określonego kodowania, w sposób automatyczny. Tyle kiedyś sprawdziłem.
: 14 grudnia 2011, 15:55
autor: istrd
Jutro, w wolnym czasie sprawdzę, czy to na 100% to. Dam znać może komuś się przyda.
Dodane:
Zrobiłem tak, wykasowałem wszystkie polskie znaki oraz krzaki z plików uruchomiłem vima, ustawiłem kodowanie i zapisałem plik: