2009-08-11 13:11:38 +0000 2009-08-11 13:11:38 +0000
26
26

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

Czasami edytuję angielski tekst, który zawiera znaki Unicode. Z jakiegoś powodu, na moim komputerze, Notepad++ konwertuje znaki Unicode na ???‘s, tym samym uszkadzając tekst i tracąc wszystkie dane. Szukam sposobu, aby edytować taki tekst, zachowując znaki Unicode. Używam Consolas jako mojej czcionki. Jeśli czcionka nie posiada wszystkich tych znaków, dlaczego miałbym stracić dane, gdy skopiuję tekst z Notepad++ (poprzez schowek Windows)?

Odpowiedzi (5)

15
15
15
2011-09-17 11:54:32 +0000

Problem opisany w pytaniu występuje, gdy pusty/nowy dokument jest ustawiony na “ANSI”, a znaki Unicode są do niego wklejane.

Nie ma żadnego automatycznego wykrywania, gdy jest używany z pustym/nowym dokumentem, przynajmniej nie w wersji Notepad++, na której go testowałem (v5.4.5). “ANSI” jest domyślne w Notepad++ dla nowego dokumentu, chyba że ustawimy to w menu SettingsPreferences → zakładka New Document/Open Save Directory.

Rozwiązanie

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

Przykład

Skopiowałem jakiś tekst do nowego dokumentu Notepad++, Rosyjski (русский язык, russkiy yazyk), z Firefoxa wyświetlającego stronę Wikipedii język rosyjski _.

Jeżeli kodowanie jest nie zmienione z “ANSI”, to wynik jest następujący:

Jeżeli kodowanie jest zmienione, to wynik jest następujący:

Jak widać na poniższym rysunku (część cyrylica jest podświetlona), Notepad++ faktycznie konwertuje znaki Unicode na ASCII 63 (szesnastkowo 3F), znaki zapytania. Dlatego znaki Unicode są tracone (w trybie “ANSI”) podczas kopiowania tekstu przez schowek (to nie jest problem czcionki - informacja jest tracona).

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

15
15
15
2009-08-11 13:30:37 +0000

Jeśli plik jest rzeczywiście zakodowany w Unicode, Notepad++ powinien wykryć to automatycznie. Czcionka Consolas font działa dobrze dla mnie. Możesz wypróbować jedną z tych dwóch opcji menu:

  • Encoding - Encode in UTF-8
  • Encoding - - Convert to UTF-8

Jestem prawie pewien, że pierwsza z nich zrobi to, co chcesz.

5
5
5
2009-08-11 13:30:46 +0000

Są dobre i złe wieści.

Dobre wieści: Notepad++ obsługuje Unicode (przynajmniej z tego, co udało mi się ustalić).

Złe wieści: Najwyraźniej wsparcie dla Unicode jest tylko w Windows XP.

Właściwie nie mam przed sobą maszyny z Windowsem. Z tego co pamiętam, gdzieś tam pod menu Format jest menu Kodowanie. Kodowanie dla Unicode to tak naprawdę najczęściej UTF-8.

Oto ‘ładny’ obrazek obsługi Unicode w Notepad++,

1
1
1
2015-04-14 13:13:05 +0000

To działa dla mnie:

Zmieniłem czcionkę na Courier New w konfiguratorze stylów na moim komputerze (Windows 7 z angielskim/amerykańskim zestawem znaków i rumuńskim dla zestawu non-Unicode). Działa z czcionkami Courier New i Tahoma + kodowanie UTF-8.

0
0
0
2018-09-19 10:12:31 +0000

W górnym menu wybierz Encoding następnie wybierz Encode in UTF-8 lub Encode in UTF-8 Without BOM wtedy będziesz mógł edytować tekst w kodowaniu Unicode.