No se pueden ver algunas etiquetas id3 rusas en ncmpc

0

Estoy corriendo urxvt con el env actual:

$ env | grep LC
LC_ALL=en_US.UTF-8

El problema es con ncurses o ncmpc y me preguntaba si alguien podría arrojar alguna luz sobre cuál podría ser el problema. Esto también podría ser un problema con el ID3 Las etiquetas y cualquier consejo sobre cómo trabajar con configuraciones de codificación rotas o mal configuradas en meta etiquetas en archivos mp3 también son bienvenidos. He estado ignorando este asunto durante años y finalmente me ha llegado. Lo extraño es que algunos nombres de archivos o etiquetas funcionan, mientras que otros no.

Lo que he probado lo siguiente:

  • estableciendo LC_ALL en estos valores (lo que sea antes del espacio)

    • ru_RU.KOI8-R KOI8-R
    • ru_RU.UTF-8 UTF-8
    • ru_RU ISO-8859-5

  • la reconstrucción de la base de datos MPD con

    • id3v1_encoding "ISO-8859-1"
      o
    • id3v1_encoding "UTF-8"

Puedo demostrar el problema con dos capturas de pantalla, ya que es la forma más fácil de hacerlo:

Salida esperada (mpc funciona bien):

expected output

Codificación rota (ncmpc):

broken encoding

Ncmpcpp: mismo problema

ncmpcpp: same  problem

Ярослав Рахматуллин
fuente

Respuestas:

0

A partir de la segunda captura de pantalla, parece que ncmpcpp salidas válidas UTF-8, pero tu terminal No lo espera.

Averigüe el PID de su emulador de terminal, luego ejecute

cat /proc/ & lt; PID & gt;  / ambiente | tr \\ 0 \\ n | egrep "LANG | LC" 

Si muestra algo diferente a su ubicación actual, es probable que esté configurando $ LANG / $ LC_ALL en el lugar equivocado. Por ejemplo, .bashrc no funcionará porque no se aplica a la sesión X11, solo a programas dentro una terminal .profile o .xprofile seria mejor.

De hecho, no se recomienda establecer $ LC_ALL de forma permanente, solo LANG=en_US.UTF-8 debería ser suficiente. (Intente evitar las configuraciones ISO-8859 o KOI8-R).

grawity
fuente
La aplicación en la captura de pantalla es ncmpc, no ncmpcpp. $ cat / proc / 9411 / environ (...): LC_ALL = en_US.UTF-8 LANG = en_US.UTF-8 IDIOMA = en_US.UTF-8. Comienzo X con startx, por lo que las variables de configuración regional en terminales posteriores se configuran en los mismos valores que cuando X lanza. Si el terminal no hubiera esperado UTF-8, entonces mpc (mpc-whatson) no mostraría los caracteres correctos, pero sí lo hace. Incluí la captura de pantalla del mpc solo para mostrar eso. La parte extraña es que algunas etiquetas funcionan, mientras que otras no. Eso también es parte de la pregunta, y si las variables locales fueran malas, ninguna funcionaría.
Ярослав Рахматуллин