it-swarm.dev

¿Cómo puedo editar el texto Unicode en Notepad ++?

A veces edito texto en inglés que incluye caracteres Unicode. Por alguna razón, en mi PC, Notepad ++ convierte los caracteres Unicode a ??? 's, lo que corrompe el texto y pierde todos esos datos. Estoy buscando una forma de editar dicho texto, al mismo tiempo que conservo los caracteres Unicode. Estoy usando Consolas como mi fuente. Si la fuente no tiene todos esos caracteres, ¿por qué debería perder los datos cuando copio el texto de Notepad ++ (a través del portapapeles de Windows)?

25
Robinicks

Si el archivo está realmente codificado en Unicode, Notepad ++ debería detectarlo automáticamente. La fuente de Consolas funciona bien para mí. Puedes probar una de estas dos opciones de menú:

  • Codificación -> Codificación en UTF-8
  • Codificación -> Convertir a UTF-8

Estoy bastante seguro de que el primero hará lo que quieras.

14
DisgruntledGoat

El problema descrito en la pregunta ocurre cuando un documento vacío/nuevo se establece en "ANSI" y Unicode los caracteres se pegan en él.

No hay detección automática cuando se usa con un documento nuevo/vacío, al menos no en la versión de Notepad ++ en la que lo probé. "ANSI" es el valor predeterminado en Notepad ++ para un documento nuevo a menos que esté configurado en el menú Configuración -> Preferencias -> pestaña Nuevo documento/Abrir Guardar Directorio .

Solución

La solución es configurar la codificación en UTF-8 antes de pegar, menú Formato -> Codificar en UTF-8 :

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

Ejemplo

Copié un texto a un nuevo documento de Notepad ++, ruso (русский язык, russkiy yazyk) , de Firefox que muestra la página de Wikipedia ruso lenguaje.

Si la codificación no cambió de "ANSI", este es el resultado:

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

Si la codificación ha cambiado , este es el 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 se puede ver en la siguiente figura (la parte en cirílico está resaltada), Notepad ++ en realidad convierte los caracteres Unicode en ASCII 63 ( hexadecimal 3F), signos de interrogación. Es por eso que los caracteres Unicode se pierden (en el modo "ANSI" ) al copiar el texto a través del portapapeles (es no un problema de fuente - la información se pierde).

Screenshot of a hex view of said document

Probado en: Notepad ++ v5.4.5 (UNICODE).

14
Peter Mortensen

Hay buenas noticias y malas noticias.

Buenas noticias: Notepad ++ admite Unicode (al menos de lo que puedo recopilar).

Malas noticias: Al parecer, la compatibilidad con Unicode solo está en Windows XP.

En realidad no tengo una máquina con Windows delante de mí. Por lo que recuerdo, hay un menú de codificación en algún lugar del menú de formato. La codificación para Unicode es en la mayoría de los casos UTF-8.

Aquí hay una imagen 'bonita' de la compatibilidad con Unicode en Notepad ++,

enter image description here

5
Josh Hunt

Unicode funciona perfectamente en Windows 7. El único problema que surge es que tiene que volver a escribir los caracteres que se han cambiado. Me ha pasado Estoy escribiendo con letras escandinavas así que ä -> E4, ö -> F6. Es un dolor en el trasero reemplazarlas a todas, pero vale la pena.

Si codifica una página desde ANSI -> UTF-8, entonces habrá algunos problemas de caracteres.

Le sugiero que primero cree una nueva página en UTF-8 y luego copie/pegue su información. No habrá/no debería haber ningún problema entonces.

3
Sloshed

Esto está trabajado para mí:

Cambié la fuente a Courier New en el configurador de estilos en mi PC (Windows 7 con el conjunto de caracteres inglés/estadounidense y rumano para el conjunto que no es Unicode). Está trabajando con las fuentes Courier New y Tahoma + codificación UTF-8.

1
rapy rapy

En el menú superior, seleccione la Encoding luego elija Encode in UTF-8 o Encode in UTF-8 Without BOM y luego puede editar el texto en codificación Unicode.

0
Siavash