it-swarm-pt.tech

Como posso editar o texto Unicode no Notepad ++?

Às vezes eu edito o texto em inglês que inclui caracteres Unicode. Por alguma razão, no meu PC, o Notepad ++ converte caracteres Unicode para ???, corrompendo o texto e perdendo todos os dados. Eu estou procurando uma maneira de editar esse texto, preservando caracteres Unicode. Estou usando Consolas como minha fonte. Se a fonte não tiver todos esses caracteres, por que eu deveria perder os dados quando copiar o texto do Notepad ++ (por meio da área de transferência do Windows)?

25
Robinicks

Se o arquivo estiver realmente codificado em Unicode, o Notepad ++ deve detectá-lo automaticamente. O fonte Consolas funciona bem para mim. Você pode tentar uma destas duas opções de menu:

  • Codificação -> Codificar em UTF-8
  • Codificação -> Converter para UTF-8

Tenho certeza que o primeiro vai fazer o que quiser.

14
DisgruntledGoat

O problema descrito na questão ocorre quando um documento empty/new está definido como "ANSI", e nicode os caracteres são colados nele.

Não há detecção automática quando usado com um documento vazio/novo, pelo menos não na versão do Notepad ++ que eu testei. "ANSI" é o padrão no Notepad ++ para um novo documento, a menos que seja definido no menu Configurações -> Preferências -> guia Novo Documento/Abrir Salvar Diretório .

Solução

A solução é definir a codificação para TF-8 antes de colar, menu Formatar -> Codificar em UTF-8:

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

Exemplo

Eu copiei algum texto para um novo documento do Notepad ++, Russian (русский язык, russkiy yazyk), do Firefox mostrando a página da Wikipedia idioma russo.

Se a codificação for not ​​alterada de "ANSI", este é o resultado:

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

Se a codificação é alterada, este é o resultado:

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

Como pode ser visto na figura abaixo (o cirílico parte é realçada), o Notepad ++ realmente converte os caracteres Unicode em ASCII 63 (hex 3F), pontos de interrogação. É por isso que os caracteres Unicode são perdidos (no modo "ANSI") ao copiar o texto pela área de transferência (é não um problema de fonte - a informação é perdida).

Screenshot of a hex view of said document

Testado em: Notepad ++ v5.4.5 (UNICODE).

14
Peter Mortensen

Há boas e más notícias.

Boas notícias: Notepad ++ suporta Unicode (pelo menos do que eu posso reunir).

Más notícias: Aparentemente, o suporte Unicode é apenas no Windows XP.

Eu realmente não tenho uma máquina Windows na minha frente. Pelo que me lembro, há um menu de codificação no menu Formatar em algum lugar. A codificação para Unicode é, na verdade, mais comumente usada em UTF-8.

Aqui está uma imagem 'bonita' do suporte a Unicode no Notepad ++,

enter image description here

5
Josh Hunt

O Unicode funciona perfeitamente no Windows 7. O único problema que surge é que você precisa digitar novamente os caracteres que foram alterados. Isso aconteceu comigo. Eu estou escrevendo com letras escandinavas então ä -> E4, ö -> F6. É uma dor na bunda para substituir todos eles, mas vale a pena.

Se você codificar uma página de ANSI -> UTF-8, haverá alguns problemas de caractere.

Sugiro que você crie uma nova página em UTF-8 e depois copie/cole suas informações. Não haverá nenhum problema então.

3
Sloshed

Isso é trabalhado para mim:

Mudei a fonte para Courier New no configurador de estilo no meu PC (Windows 7 com inglês/conjunto de caracteres US e romeno para conjunto não-Unicode). Está trabalhando com fontes Courier New & Tahoma + codificação UTF-8.

1
rapy rapy

No menu superior, selecione Encoding, em seguida, escolha Encode in UTF-8 ou Encode in UTF-8 Without BOM e, em seguida, você pode editar o texto na codificação Unicode.

0
Siavash