¿Por qué se escapa el carácter especial en la línea de comando?

¿Por qué se escapa el carácter especial en la línea de comando?

Tengo un servidor AlmaLinux, en el que tengo problemas con algún problema de codificación. Por ejemplo, si escribo esto en la CLI:

mkdir asdfü
ls ./

yo obtengo 'asdf'$'\303\274'

¿Cómo puedo arreglar esto?

Respuesta1

Parece que su terminal está configurado para que la entrada/salida esté codificada en UTF-8, pero su sesión de shell está en una configuración regional con un juego de caracteres diferente, uno donde los bytes 0303 y 0274 (octal), individualmente o en combinación, no se forman. un carácter imprimible válido o si es válido. Lo más probable es que esa configuración regional sea C/ POSIX(la configuración regional predeterminada cuando no está definida o está definida incorrectamente) y el juego de caracteres es ASCII (también conocido como ANSI_X3.4-1968) que no define ningún carácter para los bytes 0303 ni 0274 (cualquier byte superior a 0177).

locale charmap

Le dirá qué juego de caracteres se utiliza en la localidad.

locale

Le mostrará la configuración local.

Probablemente querrás cambiar al menos $LANGa una configuración regional donde el juego de caracteres sea UTF-8 y coincida con tus preferencias.

locale -a

Le dará una lista de las configuraciones regionales disponibles en el servidor.

información relacionada