Jak mogę edytować tekst Unicode w Notepad ++?


26

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)?


Czy to możliwe, że używasz wtyczki, która nie obsługuje Unicode?
Ivo Flipse,

Jeśli są to znaki zapytania w polach, to w rzeczywistości jest to glif czcionki dla brakujących glifów, a dane nie zostaną utracone.
Joey,

Nie, nie ma go w pudełkach, zamiast zwykłego „?” postać. Zatwardziały.
Robinicks,

1
być może trzeba zmienić czcionkę. patrz superuser.com/questions/16831/...
RamyenHead

Odpowiedzi:


15

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:

  • Kodowanie -> Zakoduj w UTF-8
  • Kodowanie -> Konwertuj na UTF-8

Jestem pewien, że pierwszy zrobi, co chcesz.


Nie mam menu Format.
Val

1
Dla potomnych potrzebujesz menu Kodowanie, a nie Format
Ken Bellows,

15

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 UstawieniaPreferencje → zakładka Nowy dokument / Otwórz Zapisz katalog .

Rozwiązanie

Rozwiązaniem jest ustawienie kodowania na UTF-8 przed wklejeniem, menu FormatKoduj w UTF-8 :

Polecenie menu „menu Format / Kodowanie w UTF-8”, które ma zostać wykonane

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:

Wynik wklejenia ciągu Unicode „Rosyjski (русский язык, russkiy yazyk”) do nowego dokumentu Notepad ++ bez zmiany kodowania z domyślnego „ANSI”.

Jeśli kodowanie zostanie zmienione, jest to wynik:

Wynik wklejenia ciągu Unicode „Rosyjski (русский язык, russkiy yazyk”) do nowego dokumentu Notepad ++ po zmianie kodowania z domyślnego „ANSI” na „UTF-8”.

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).

Zrzut ekranu widoku szesnastkowego wspomnianego dokumentu

Testowano na: Notepad ++ v5.4.5 (UNICODE).


5

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 ++,

wprowadź opis zdjęcia tutaj


3

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.


1

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.


0

W górnym menu wybierz, a Encodingnastępnie wybierz Encode in UTF-8lub Encode in UTF-8 Without BOMmożesz edytować tekst w kodowaniu Unicode.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.