Cómo solucionar el problema de no poder introducir eñes o tildes en el shell de comandos (bash) de un contenedor Docker.

Síntomas, problema de no poder introducir eñes o tildes en shell de contenedor Docker

Cuando accedemos a la línea de comandos (shell o bash) de un contenedor Docker, por ejemplo, al contenedor «mssql» (en este enlace indicamos cómo desplegar un contenedor Docker con MS SQL Server):

Y, una vez en el shell, necesitamos introducir una eñe o una sílaba con tilde (acento). Por ejemplo, en el contenedor mssql con Microsoft SQL Server, si queremos abrir la utilidad de la línea de comandos sqlcmd de SQL Server y tenemos una eñe en la contraseña del usuario «sa», comprobaremos que no nos deja escribirla:

Como podremos observar, no nos dejará introducir una eñe o un carácter con tilde. A continuación explicamos cómo solucionar este problema.

Solución al error de introducción de eñes, tildes, acentos en bash shell de contenedor Docker

Para acceder al shell de comandos de un contenedor Docker y poder escribir eñes, tildes o acentos, usaremos el argumento LANG=C.UTF-8. Por ejemplo, para abrir un shell del contenedor «mssql» donde se puedan introducir eñes, tildes, etc., ejecutaremos el comando:

Una vez en el shell, ahora sí que podremos introducir caracteres especiales (eñe, letras con tilde/acento, etc.):

Para el caso de SQL Server, si muestra este error:

Podremos usar el argumento -C para no comprobar certificado:

Conectará con la base de datos y podremos ejecutar consultas SQL y escribir eñes, tildes, etc.: