Los códigos de caracteres especiales se muestran en la Terminal para diacríticos cuando se conecta a un servidor Ubuntu

Cuando me conecto a un servidor Ubuntu (ssh) y trato de ver algún texto en la Terminal del servidor remoto, obtengo códigos de caracteres en lugar del texto apropiado con signos diacríticos.

por ejemplo para un git logen el servidor obtengo:

Author: Ionic<C4><83> Biz<C4><83>u <bizauionica@...>

en lugar de:

Author: Ionică Bizău <bizauionica@...>

Cuando lo hago git logen mi máquina local en la Terminal, obtengo los signos diacríticos correctos.

No tengo idea en qué categoría cae este problema:

  • Terminal
  • intento
  • ssh
  • ubuntu
  • git

Inicialmente le pregunté a Ubuntu por este problema , pero me redireccionaron aquí.

¿Algunas ideas?

La terminal muestra los bytes UTF-8 en hexadecimal para el carácter que no es ascii, probablemente alguna configuración de preferencia necesite un ajuste.
¿Qué localeimprime en el servidor, o has intentado ejecutarlo export LANG=en_US.UTF-8?
En el servidor Ubuntu (visto a través de SSH): ` LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=UTF-8 LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF- 8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE=" en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= `
Y en mi Mac: ` LANG= LC_COLLATE="C" LC_CTYPE="UTF-8" LC_MESSAGES="C" LC_MONETARY="C" LC_NUMERIC="C" LC_TIME="C" LC_ALL= `

Respuestas (1)

La LC_ALLvariable que tenía un valor vacío estaba causando el problema.

Entonces, la solución de este problema se puede encontrar en SO aquí :

En Mac, la LC_ALLvariable no está configurada de forma predeterminada. Entonces escribiendo:

export LC_ALL=en_US.UTF-8  

en tu ~/.bash_profilesoluciona el problema. Supongo que tiene una configuración SSH predeterminada que tiene LC_*en la SendEnvconfiguración.