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

126132
Robinicks

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

25
Если это вопросительные знаки в полях, то это фактически глиф шрифта для отсутствующих глифов, и ваши данные * не * потеряны. Joey 14 лет назад 0
Нет, это не в коробках, а в простой? персонаж. Подтверждено. Robinicks 14 лет назад 0
Возможно, вам придется изменить шрифт. см. http://superuser.com/questions/16831/how-can-the-font-size-be-changed-in-notepad/123826#123826 RamyenHead 13 лет назад 1
Может быть, вы используете плагин, который не поддерживает Unicode? Ivo Flipse 14 лет назад 0

6 ответов на вопрос

14
DisgruntledGoat

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

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

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

У меня нет меню Формат. Val 10 лет назад 0
Для потомков вам нужно меню Кодировка, а не Формат Ken Bellows 8 лет назад 1
14
Peter Mortensen

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

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

Решение

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

Menu command "menu Format/Encode in UTF-8" about to be executed

пример

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

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

Result of pasting the Unicode string "Russian (русский язык, russkiy yazyk" into a new Notepad++ document without changing the encoding from the default "ANSI".

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

Result of pasting the Unicode string "Russian (русский язык, russkiy yazyk" into a new Notepad++ document after changing the encoding from the default "ANSI" to "UTF-8".

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

Screenshot of a hex view of said document

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

5
Josh Hunt

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

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

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

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

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

3
Peter Mortensen

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

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

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

1
rapy rapy

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

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

0
Siavash

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