trzeba pozbyć się dziwnych symboli w tekście

1

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.


źródło
Wygląda na to, że edytujesz plik UTF-8 w vi, który nie rozumie UTF-8, zamiast tego spróbuj użyć vima.
Może być konieczna zmiana obsługi języka na UTF-8 dostępne w preferencjach okna używanej aplikacji.
@muistooshort vi stał się vim co najmniej 25 lat temu.
Shiplu Mokaddim
@Shiplu 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.
Bob

Odpowiedzi:

0

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/

DWright
źródło
Wielkie dzięki! To działa i właśnie tego potrzebuję. Nie zamierzałem jednak wzbudzać zainteresowania treścią tekstową. Lekcja dowiedziała się :)
0

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”

mkannan@talksense-dr:~/tmp$ dos2unix test.sh 
dos2unix: converting file test.sh to UNIX format ...
Kannan Mohan
źródło
dos2unix konwertuje zakończenia linii (od CR + LF po prostu LF ). 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.)
Bob