it-swarm-es.com

¿Cómo arreglar PuTTY mostrando personajes confusos?

Al conectarme desde una PC con Windows 7 a través de SSH a un servidor Ubuntu usando PuTTY , obtengo algunos errores de pantalla:

enter image description here

Es decir. eso:

  • "Dibuja dos veces" la selección dentro Midnight Commander (MC).
  • Otros caracteres como elementos de línea se dibujan como caracteres incorrectos (por ejemplo, "â" en lugar de "|").

Me conecté al mismo servidor Ubuntu con un terminal y SHH desde un Mac OS X y no obtengo estas incómodas pantallas (es decir, todo se ve y funciona correctamente). Ya he intentado jugar con la configuración de fuente dentro de PuTTY, cambiándola de Courier New a Consolas pero sin suerte.

Mi pregunta por lo tanto es:

¿Cómo configurar PuTTY para mostrar correctamente caracteres especiales y no líneas de pantalla de doble dibujo/sobrescritura?

85
Uwe Keim

Es casi seguro que haya configurado el conjunto de caracteres incorrecto en su configuración de PuTTY .

Verifique el juego de caracteres en el sistema remoto ejecutando el comando:

locale

Esto debería devolver algo como:

LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=

Por lo tanto, verifique la configuración de PuTTY en Traducción y asegúrese de tener UTF-8 establecido como el conjunto de caracteres.

PuTTY Reconfiguration

Es posible que también necesite ajustar la configuración del dibujo lineal, pero probablemente no sea probable.

76
Michael Hampton

Tuve un problema con el programa aptitude de Debian a pesar de que tenía UTF-8 como mis caracteres establecidos. Lo que funcionó para mí fue establecer 'Conexión> Datos>' Cadena de tipo terminal 'en' PuTTY 'en lugar de' xterm ': aparentemente PuTTY ignora la secuencia de caracteres para cambiar al modo de dibujo: http: // www .chiark.greenend.org.uk/~ sgtatham/PuTTY/wishlist/utf8-plus-vt100.html

enter image description here

35
Daniel Sokolowski

Además, si UTF-8 no está configurado correctamente, puede ejecutarlo como mc -ac .

Créditos: http://blog.acsystem.sk/linux/midnight-commander-utf8-line-drawing-characters-problem

12
hoppy

Los dos factores básicos son Window/Translation UTF-8 en PuTTY y configuraciones locales en Linux, como se indica aquí y en muchos otros lugares.

Además, puede ayudar en PuTTY establecer Conexión/Datos/Tipo de terminal cadena a PuTTY , y/o en Linux a export NCURSES_NO_UTF8_ACS=1. Estos dos también se mencionan en múltiples lugares.

Pero: aún puede obtener bloques para ciertos caracteres porque las fuentes predeterminadas como Courier y Lucida Console no tienen todos los caracteres Unicode. Descargue e instale http://dejavu-fonts.org/wiki/Download , y configure PuTTY para usarlo.

Este último truco fue necesario para que yo obtuviera noping (¡recomendado!) Para mostrar todos los caracteres gráficos.

9
GauteLund

Después de 15 años me molesté una vez más y busqué en Google nuevamente, encontré esto, elegí

cambiar la configuración → ventana → traducción → conjunto de caracteres remoto → "usar codificación de fuente"

y eso lo arregló.

7
jason

En mi caso (Ubuntu 14.04) el problema fue causado por falta

UsePAM yes    

la entrada en/etc/ssh/sshd_config como /etc/pam.d/sshd pam configuration es responsable de forma predeterminada de cargar/etc/default/locale en el entorno de los usuarios.

6
fakej Gazeta.pl

Para todos los pobres muchachos de VMS que terminan aquí:

PuTTY → Ventana → Traducción → Juego de caracteres remoto → DEC-MCS

trabajó para mi.

6
David Rabahy

Estaba buscando muchas soluciones para esto cuando usaba la máquina Docker (tanto local como en máquinas configuradas por el administrador del sistema). En mi PuTTY todo estaba bien (tenía UTF-8), Estaba usando también otro cliente SSH y tuve exactamente el mismo problema.

Corriendo:

mc -ac

estaba resolviendo el problema (pero no completamente) y estaba buscando una solución completa.

Después de leer muchas sugerencias, finalmente encontré la que resolvió mi problema.

En la terminal cuando corres:

locale

verifique qué configuración regional ha establecido. Tenía por defecto C locale.

Para verificar todo el entorno local instalado, ejecute locale -a

Tengo por ejemplo:

C
C.UTF-8
POSIX

por defecto.

La solución está exportando LANG variable con C.UTF-8 locale así:

export LANG="C.UTF-8"

Obviamente puede agregarlo a .bashrc para que se configure automáticamente en su perfil.

5
Marcin Nabiałek

Tuve que configurar, en la página VentanaTraducción, el conjunto de caracteres para:

ISO-8859-1: 1998 (latín-1, Europa occidental)

Entonces, y solo entonces, aparecieron correctamente los caracteres rayados.

3
zootal

Otra razón relacionada de alguna manera con pam que puede afectar a los hosts con autenticación de powerbroker/pbis/similar.

grep /etc/pam.d para la ocurrencia de "lsass":

grep -r lsass /etc/pam.d

si ves en la salida algo como:

/etc/pam.d/common-session:session       sufficient        pam_lsass.so

entonces es probablemente la causa raíz del problema. La solución rápida es reemplazar "suficiente" con "opcional" al lado del módulo pam_lsass para que se vea así:

/etc/pam.d/common-session:session       optional        pam_lsass.so

/etc/pam.d/common-session (u otro archivo con una entrada similar, puede haber algunos de ellos) probablemente esté incluido en /etc/pam.d/sshd antes de cargar pam_env, por lo que si el procesamiento de los módulos pam ha finalizado antes de llegar a pam_env,/etc/default/locale no se carga en el entorno del usuario y tiene caracteres ilegibles.

2
fakej Gazeta.pl

Como se menciona en muchas respuestas:

PuTTY> Ventana> Traducción> Juego de caracteres remoto> UTF8

es la solución.

Pero no olvide ir a Sesión> Configuración predeterminada y presione Guardar . No se mostrará ningún mensaje para confirmar el éxito, pero de hecho se convertirá en el predeterminado:

enter image description here

1
Basj

Ejecutar mc de esta manera (establecer locale en en) funciona para mí:

$ LC_ALL=en mc
1
marioosh

lo que funcionó para mí fue "Conexión, Datos, Cadena de tipo terminal = ansi" más "Ventana, Traducción, Juego de caracteres remoto = Usar codificación de fuente" y luego set TERM=ansi en el lado de Unix.

PD. Recuerde desactivar las comillas inteligentes si se ve obligado a usar MS-Word.

1
TRM

Ventana → Traducción → "Habilitar dibujo lineal VT100 incluso en modo UTF-8".

Esto corrige la visualización de mc y wavemon para mí.

enter image description here

1

Mi problema fue que PuTTY está configurado como UTF-8 pero el sistema remoto es un ISO-8859-1

europa occidental, así que cambié eso en PuTTY y todo funcionó bien.

captura de pantalla PuTTY

1
velteyn