Używam wget lokalnie do wykonania statycznej migawki małej aplikacji internetowej. Kiedy to zrobię, wynikowe pliki html powrócą z dziwnymi znakami zamiast cudzysłowów i apostrofów.wget i znaki specjalne
Co mogę zrobić, aby tego uniknąć?
Dzięki.
Używam wget lokalnie do wykonania statycznej migawki małej aplikacji internetowej. Kiedy to zrobię, wynikowe pliki html powrócą z dziwnymi znakami zamiast cudzysłowów i apostrofów.wget i znaki specjalne
Co mogę zrobić, aby tego uniknąć?
Dzięki.
Wygląda na to, że musisz podać --remote-encoding
, być może --remote-encoding=utf-8
.
Próbowałem (powinienem wspomnieć o tym w moim pytaniu) i otrzymałem "wget: nierozpoznaną opcję" --remote-encoding = utf-8 '- - kodowanie przerwań nie pojawia się, gdy wywołuję -h, aby uzyskać pomoc Czy to możliwe, ponieważ jestem w systemie Windows? – Brett
Jesteś pewien, że ustawienia lokalnego lokalnego terminalu są poprawne? – Thor
Która wersja 'wget' jest uruchomiona?' Wget --version'. – Thor
Miałem ten sam problem, ale potem dowiedziałem się, że moja przeglądarka pokazała stronę z nieprawidłowym wejściem. Na przykład w przeglądarce Firefox wystarczy zmienić widok -> Kodowanie znaków -> Unicode.
To rozwiązało problem także dla mnie, ale tylko dla jednej strony. Po przejściu do następnej strony pobranej przez wget ponownie musiałem zmienić kodowanie Firefoksa na Unicode. – user1364368
Sugerowałbym próbuje z:
--restrict-file-names=nocontrol
Dziękujemy! Miałem nieco inny, ale powiązany problem, a ta opcja (chociaż z 'ascii' zamiast' nocontrol') w końcu dała mi rozwiązanie, którego potrzebowałem. Jakoś pominąłem to, czytając człowieka wget. –
miałem takiego problemu zbyt. Wygląda na to, że strona, którą pobierałem, była gzipowana. Możesz to sprawdzić, używając opcji -S w wget. Znajdziecie
Content-Encoding: gzip
linię. W takim przypadku używam Zcat do odczytu pliku.
Wydaje się, że nie można odgadnąć wget
kodowanie więc trzeba to w swojej odpowiedzi html aplikacji internetowej:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
miałem ten sam problem zmieniać (a wget
lustro ze znaków specjalnych i cudzysłowy pokazane jako Unicode "nieznany znak", ?
) podczas przeglądania lustra.
Problem jest związany z kodowaniem różnych serwerów, a nie zależny od wget
. Pierwotnym serwerem była stara instalacja w systemie Windows + IIS skonfigurowana do obsługi stron HTML z kodowaniem ISO-8859, natomiast serwer lustrzany był serwerem Linux + Apache skonfigurowanym do obsługi stron UTF-8.
Rozwiązaniem było skonfigurować Apache służyć stron ISO-8859, dodając do prawej wirtualnego hosta dyrektywę AddDefaultCharset ISO-8859-1
Jak się bada wynikowe pliki? Jest całkiem prawdopodobne, że plik ma kodowanie UTF-8 i musisz je sprawdzić w edytorze lub przeglądarce internetowej, która rozumie, że są one UTF-8. –
@Brett Jak rozwiązałeś ten problem? – SJU
@Angel Tsankov, minęło trochę czasu, ale nie sądzę, żebym kiedykolwiek znalazł rozwiązanie. – Brett