Muszę przetworzyć następujący tekst, aby pozbyć się dziwnych symboli, takich jak:
â<80><99> â<80><9c> â<80>?
Przykładowy tekst:
Z niewyjaśnioną tajemnicą Hyatt starał się dać swoim gościom poczucie bezpieczeństwa, umieszczając strażnika w holu. Ale Wolf nie mógł 80 potrząsnąć poglądem, że złodziej może w każdej chwili wrócić do swojego pokoju. „80> 9c” miałem marzenia o tym przez wiele nocy, „80” - mówi Wolf, 66-letni konsultant usług informatycznych Dell podróżujący w Houston w interesach.
Czy ktoś może mi w tym pomóc? Mam nadzieję, że albo ręcznie usuniesz go za pomocą jakiegoś polecenia w Vi, albo zrobię to za pomocą skryptu.
UTF-8
dostępne w preferencjach okna używanej aplikacji.vim
został opublikowany dopiero 21 lat temu. Niektóre systemy operacyjne nadal używająvi
domyślnie (IIRC, obejmuje to FreeBSD). To ważna sugestia.Odpowiedzi:
Znalazłem ten tekst tutaj: http://www.forbes.com/sites/andygreenberg/2012/11/26/security-flaw-in-common-keycard-locks-exploited-in-string-of-hotel-room-break-ins/
Znaki powodujące problem to fantazyjne cytaty i apostrof, które nie są standardowymi symbolami ascii dla cytatów i apostrofów.
Wkleiłem ten tekst do mojej kopii vima i dobrze to obsługiwał.
Ale oto jak to zrobić, gdy coś takiego się dzieje: http://aditya.sublucid.com/2008/01/18/replacing-those-pesky-smart-quotes-in-vim/
źródło
Przeważnie ten problem występuje, jeśli przeniesiesz plik z komputera z systemem Windows lub DOS. Aby pozbyć się niechcianych znaków specjalnych, użyj narzędzia „dos2unix”
źródło
dos2unix
konwertuje zakończenia linii (odCR
+LF
po prostuLF
). Wygląda to bardziej na problem z kodowaniem cytatów. (@querystack potwierdził w komentarzu do innej odpowiedzi, że jest to problem z „inteligentnymi cudzysłowami”, które nie są częścią zestawu znaków ASCII.)