Как я могу редактировать текст Unicode в Notepad ++?

26

Иногда я редактирую текст на английском языке, который включает символы Unicode. По какой-то причине на моем ПК Notepad ++ преобразует символы Unicode в символы ???, что приводит к повреждению текста и потере всех этих данных. Я ищу способ редактировать такой текст, сохраняя символы Юникода. Я использую Consolas как мой шрифт. Если шрифт не содержит всех этих символов, почему я должен потерять данные, когда копирую текст из Notepad ++ (через буфер обмена Windows)?

Robinicks
источник
Может быть, вы используете плагин, который не поддерживает Unicode?
Иво Флипс
Если это блоки с вопросительными знаками в полях, то это фактически глиф шрифта для пропущенных глифов, и ваши данные не теряются.
Джои
Нет, это не в коробках, а просто "?" персонаж. Подтверждено.
Robinicks
1
вам может понадобиться изменить шрифт. см. superuser.com/questions/16831/…
RamyenHead

Ответы:

15

Если файл фактически закодирован в Unicode, Notepad ++ должен обнаружить его автоматически. Шрифт Consolas работает хорошо для меня. Вы можете попробовать один из этих двух вариантов меню:

  • Кодировка -> Кодировка в UTF-8
  • Кодировка -> Конвертировать в UTF-8

Я уверен, что первый сделает то, что вы хотите.

DisgruntledGoat
источник
У меня нет меню Формат.
Val
1
Для потомков вам нужно меню Кодировка, а не Формат
Кен Беллоуз
15

Проблема, описанная в вопросе, возникает, когда для пустого / нового документа задано значение «ANSI», и в него вставляются символы Unicode .

При использовании с пустым / новым документом автоопределение отсутствует, по крайней мере, в той версии Notepad ++, на которой я его тестировал (v5.4.5). «ANSI» является значением по умолчанию в Notepad ++ для нового документа, если оно не задано в меню « Настройки» → « Настройки» → вкладка « Новый документ» / «Открыть каталог» .

Решение

Решение состоит в том, чтобы установить кодировку UTF-8 перед вставкой, меню ФорматКодировать в UTF-8 :

Команда меню «Меню Формат / Кодировать в UTF-8», которая должна быть выполнена

пример

Я скопировал некоторый текст в новый документ Notepad ++, русский (русский язык, русский язык) , из Firefox, показывающий страницу Википедии на русском языке .

Если кодировка не изменилась с «ANSI», это результат:

Результат вставки строки Unicode «Русский (русский язык, русский язык») в новый документ Notepad ++ без изменения кодировки по умолчанию «ANSI».

Если кодирование будет изменено это результат:

Результат вставки строки Unicode «Русский (русский язык, русский язык») в новый документ Notepad ++ после изменения кодировки по умолчанию «ANSI» на «UTF-8».

Как видно на рисунке ниже ( выделена кириллическая часть), Notepad ++ фактически преобразует символы Unicode в ASCII 63 (шестнадцатеричный 3F), вопросительные знаки. Вот почему символы Unicode теряются (в режиме «ANSI» ) при копировании текста через буфер обмена (это не проблема шрифта - информация теряется).

Снимок экрана шестнадцатеричного представления указанного документа

Проверено на: Notepad ++ v5.4.5 (UNICODE).

Питер Мортенсен
источник
5

Есть хорошие новости и плохие новости.

Хорошие новости: Notepad ++ поддерживает Unicode (по крайней мере, из того, что я могу собрать).

Плохие новости: очевидно, поддержка Unicode есть только в Windows XP.

У меня фактически нет машины Windows передо мной. Из того, что я помню, где-то есть меню Кодировка в меню Формат. Кодировка для Unicode на самом деле чаще всего UTF-8.

Вот «симпатичная» картина поддержки Unicode в Notepad ++,

введите описание изображения здесь

Джош Хант
источник
3

Unicode отлично работает в Windows 7. Единственная проблема, которая возникает, - это то, что вам нужно перепечатывать символы, которые были изменены. Это случилось со мной. Я пишу скандинавскими буквами, так что ä -> E4, ö -> F6. Это боль в заднице, чтобы заменить их всех, но оно того стоит.

Если вы кодируете страницу из ANSI -> UTF-8, тогда будут некоторые проблемы с символами.

Я бы посоветовал вам сначала создать новую страницу в UTF-8, а затем скопировать / вставить свою информацию. Тогда не будет никаких проблем.

Питер Мортенсен
источник
1

Это работает для меня:

Я изменил шрифт на конфигуратор стиля Courier New на моем ПК (Windows 7 с набором символов английский / американский и румынский для набора не-Unicode). Работает с шрифтами Courier New и Tahoma + кодировка UTF-8.

изнасилование изнасилование
источник
0

В верхнем меню выберите, Encodingзатем выберите Encode in UTF-8или Encode in UTF-8 Without BOMзатем вы можете редактировать текст в кодировке Юникод.

Siavash
источник