Czasami edytuję tekst w języku angielskim zawierający znaki Unicode. Z jakiegoś powodu na moim komputerze Notepad ++ konwertuje znaki Unicode na ???, powodując w ten sposób uszkodzenie tekstu i utratę wszystkich danych. Szukam sposobu na edycję takiego tekstu, zachowując znaki Unicode. Używam Consolas jako mojej czcionki. Jeśli czcionka nie zawiera wszystkich tych znaków, dlaczego mam utracić dane, gdy kopiuję tekst z Notepad ++ (ze schowka Windows)?
notepad++
text-editing
unicode
Robinicks
źródło
źródło
Odpowiedzi:
Jeśli plik jest faktycznie zakodowany w Unicode, Notepad ++ powinien go wykryć automatycznie. Czcionki Consolas działa dobrze dla mnie. Możesz wypróbować jedną z tych dwóch opcji menu:
Jestem pewien, że pierwszy zrobi, co chcesz.
źródło
Problem opisany w pytaniu występuje, gdy pusty / nowy dokument jest ustawiony na „ANSI” i wkleja się w nim znaki Unicode .
Nie ma żadnego automatycznego wykrywania, gdy jest używany z pustym / nowym dokumentem, przynajmniej nie w wersji Notepad ++, na której testowałem (v5.4.5). „ANSI” jest domyślnym ustawieniem w Notepad ++ dla nowego dokumentu, chyba że ustawiono go w menu Ustawienia → Preferencje → zakładka Nowy dokument / Otwórz Zapisz katalog .
Rozwiązanie
Rozwiązaniem jest ustawienie kodowania na UTF-8 przed wklejeniem, menu Format → Koduj w UTF-8 :
Przykład
Skopiowałem trochę tekstu do nowego dokumentu Notepad ++, rosyjskiego (русский язык, russkiy yazyk) , z Firefoksa pokazującego rosyjską stronę Wikipedii .
Jeśli kodowanie nie zostanie zmienione z „ANSI”, wynik jest następujący:
Jeśli kodowanie zostanie zmienione, jest to wynik:
Jak widać na poniższym rysunku ( część cyrylicy jest podświetlona), Notepad ++ faktycznie konwertuje znaki Unicode na ASCII 63 (szesnastkowy 3F), znaki zapytania. Dlatego znaki Unicode są tracone (w „ANSI” mode) przy kopiowaniu tekstu zewnątrz przez schowku (to nie to kwestia czcionki - informacje zostaną utracone).
Testowano na: Notepad ++ v5.4.5 (UNICODE).
źródło
Są dobre i złe wieści.
Dobra wiadomość: Notepad ++ obsługuje Unicode (przynajmniej z tego, co mogę zebrać).
Złe wieści: Najwyraźniej obsługa Unicode działa tylko w systemie Windows XP.
Właściwie nie mam przed sobą komputera z systemem Windows. Z tego co pamiętam, gdzieś jest menu Kodowania w menu Format. Kodowanie dla Unicode jest w rzeczywistości najczęściej UTF-8.
Oto „ładny” obraz obsługi Unicode w Notepad ++,
źródło
Unicode działa doskonale w systemie Windows 7. Jedyne, co się pojawia, to konieczność przepisania zmienionych znaków. Zdarzyło mi się. Piszę literami skandynawskimi, więc ä -> E4, ö -> F6. Zastąpienie ich wszystkich to kłopot w tyłku, ale warto.
Jeśli kodujesz stronę z ANSI -> UTF-8, wtedy pojawią się problemy z charakterem.
Sugerowałbym, aby najpierw utworzyć nową stronę w UTF-8, a następnie skopiować / wkleić informacje. Wtedy nie będzie / nie powinno być żadnych problemów.
źródło
To działa dla mnie:
Zmieniłem czcionkę na konfigurator stylu Courier New na moim komputerze (Windows 7 z zestawem znaków w języku angielskim / amerykańskim i rumuński w przypadku zestawu bez kodu Unicode). Działa z czcionkami Courier New i Tahoma + kodowaniem UTF-8.
źródło
W górnym menu wybierz, a
Encoding
następnie wybierzEncode in UTF-8
lubEncode in UTF-8 Without BOM
możesz edytować tekst w kodowaniu Unicode.źródło