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


26

A veces edito texto en inglés que incluye caracteres Unicode. Por alguna razón, en mi PC, Notepad ++ convierte los caracteres Unicode a ???, corrompiendo el texto y perdiendo todos esos datos. Estoy buscando una manera de editar dicho texto, al tiempo que conserva 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)?


¿Podría ser que estás usando un complemento que no es compatible con Unicode?
Ivo Flipse

Si se trata de signos de interrogación en cuadros, entonces es el glifo de la fuente para los glifos faltantes y sus datos no se pierden.
Joey el

No, no está en cajas, sino que es el simple '?' personaje. Confirmado.
Robinicks

1
Es posible que deba cambiar la fuente. ver superuser.com/questions/16831/...
RamyenHead

Respuestas:


15

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

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

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


No tengo el menú Formato.
Val

1
Para la posteridad, necesita el menú Codificación, no Formato
Ken Bellows

15

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

No hay detección automática cuando se usa con un documento vacío / nuevo, al menos no en la versión de Notepad ++ Lo probé (v5.4.5). "ANSI" es el valor predeterminado en Notepad ++ para un documento nuevo, a menos que se configure en el menú ConfiguraciónPreferencias → pestaña Nuevo documento / Abrir Guardar directorio .

Solución

La solución es establecer la codificación en UTF-8 antes de pegar, menú FormatoCodificar en UTF-8 :

Comando de menú "Menú Formato / Codificación en UTF-8" a punto de ejecutarse

Ejemplo

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

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

Resultado de pegar la cadena Unicode "Ruso (русский язык, russkiy yazyk" en un nuevo documento Notepad ++ sin cambiar la codificación del "ANSI" predeterminado.

Si se cambia la codificación, este es el resultado:

Resultado de pegar la cadena Unicode "Ruso (русский язык, russkiy yazyk" en un nuevo documento de Notepad ++ después de cambiar la codificación del "ANSI" predeterminado a "UTF-8".

Como se puede ver en la figura a continuación (la parte cirílica 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 "ANSI" modo) al copiar el texto a través del portapapeles (que es no un problema de fuente - la información se pierde).

Captura de pantalla de una vista hexadecimal de dicho documento

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


5

Hay buenas noticias y malas noticias.

Buenas noticias: Notepad ++ es compatible con Unicode (al menos por lo que puedo reunir).

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

De hecho, no tengo una máquina Windows frente a mí. Por lo que recuerdo, hay un menú de codificación debajo del menú Formato en alguna parte. La codificación para Unicode es en realidad más comúnmente UTF-8.

Aquí hay una imagen 'bonita' del soporte de Unicode en Notepad ++,

ingrese la descripción de la imagen aquí


3

Unicode funciona perfectamente en Windows 7. El único problema que surge es que debe volver a escribir los caracteres que se han cambiado. Me ha pasado a mi. Estoy escribiendo con letras escandinavas así que ä -> E4, ö -> F6. Reemplazarlos a todos es una molestia, pero vale la pena.

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

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


1

Esto me funcionó:

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


0

En el menú superior, seleccione y Encodingluego elija Encode in UTF-8o Encode in UTF-8 Without BOMpuede editar el texto en codificación Unicode.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.