Utilizar codificación ISO en vez de UTF-8 (Solucionado)

Imagen de chippywinny
0 puntos

Hola, necesito ayuda para mi PFC, he buscado mucho pero no logro dar con la clave.

Veréis, quiero que el sistema de ficheros de mi linux utilice codificación de nombres de archivos en ISO en lugar de UTF-8. He buscado por ahi y no he encontrado nada relacionado, y yo creo que el truco está en la variable de entorno LANG o algo así, pero no sé exactamente cómo hacerlo.

Gracias de antemano.

Un saludo.

Imagen de Gabriel_M
+1
0
-1

Hola chippy...:

Si quieres cambiar UTF-8 por ISO-8859-15 como codificación por defecto para el sistema, debes modificar los siguientes archivos:

/var/lib/locales/supported.d/local

es_ES ISO-8859-1
es_ES@euro ISO-8859-15
es_ES.UTF-8 UTF-8
es_ES.UTF-8@euro UTF-8
en_US.UTF-8 UTF-8

/etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games"
LC_TYPE=es_ES@euro
LC_ALL=es_ES@euro
LANG="es_ES@euro"
LANGUAGE="es_ES:es:en_US:en"

/etc/default/locale

LANG="es_ES@euro"

Luego reconfigurar los locales

Una vez definidos los locales que quieres usar, le dices al sistema que los use:

$ sudo dpkg-reconfigure locales
Generating locales...
  en_US.UTF-8... up-to-date
  es_ES.ISO-8859-15@euro... up-to-date
  es_ES.ISO-8859-1... up-to-date
  es_ES.UTF-8@euro... up-to-date
  es_ES.UTF-8... up-to-date
Generation complete.

A partir de este momento, las nuevas sesiones usarán ISO-8859-15 como codificación por defecto en lugar de UTF-8

Escribe en consola:

env

Y te informará

LC_ALL=es_ES@euro
LC_TYPE=es_ES@euro
LANG=es_ES@euro
LANGUAGE=es_ES:es:en_US:en

Saludos.


Equipo de Moderadores del Foro
+1
0
-1
Imagen de cHemarY
+1
0
-1

 Hola, he hecho lo que pones para cambiar la codificacion, pero como tenia problemas con la contraseña de entrada he tenido que poner otra vez utf-8, el problema es que seguramente algunos de los tres archivos que hay que tocar no lo he dejado como estaba, y claro ahora no me acuerdo de como estaba el /etc/default/locale, pues fue el unico en el que reescribi. El problema es al escribir los acentos, mira un ejemplo: cami´on, avi´on. Con la ñ no hay problema. 

 

Te agradeceria que me pudieses ayudar a solcionarlo. 

-----------------------------------------------------------------------------------------

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios.
Sir Francis Crick.

+1
0
-1

 

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios. Sir Francis Crick.

Imagen de Gabriel_M
+1
0
-1

Hola chi...:

Para volver a utf8 edita:

sudo gedit /etc/environment

Le dejas asi: 

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games"
LC_TYPE=es_ES.UTF-8@euro
LC_ALL=es_ES.UTF-8@euro
LANG="es_ES.UTF-8@euro"
LANGUAGE="es_ES:es:en_US:en"

sudo gedit /etc/default/locale

Lo dejas asi: 

LANG="es_ES.UTF-8@euro"

Luego reconfigura los locales

sudo dpkg-reconfigure locales
==================================

Para saber lo que estas haciendo leéte esto:

En sistemas GNU/Linux en general y Ubuntu en particular, para configurar los estándares y formatos específicos del país, como son el idioma, las fechas, la moneda, la coma decimal, etc.  se hace uso de las locales o códigos de idioma.
Realmente las locales son un mecanismo que permite a las aplicaciones mostrar una salida adecuada y una funcionalidad conforme a las convenciones locales  respecto del conjunto de caracteres, el formato del tiempo y de la fecha, los símbolos monetarios, etc.
Éstas utilizan variables de entorno para determinar el comportamiento apropiado. Por ejemplo, ponemos definir diferentes locales para distintos usuarios del sistema y otras para el súper usuario.
Las locales y sus datos son parte de las bibliotecas del sistema y se pueden encontrar en /usr/share/locale por lo general.
Si exploramos el directorio, un locale o código de idioma es generalmente nombrado como “aa” y “aa_BB”. Esto quiere decir que existen dos niveles.
El primer nivel representa el código del lenguaje (aa) y el segundo el código del país (BB). Por ejemplo:
    * es_AR, leguaje español, país Argentina.
    * en_GB, leguaje ingles, país Reino Unido.
    * en_US, leguaje español, país Estados Unidos.
    * fr, lenguaje francés (únicamente).

Para a configurar y/o verificar las locales:
Comprobamos que tenemos instaladas las locales
    sudo dpkg -l | grep locales
Dará una salida parecida a:
    ii locales 2.6.1-1 GNU C Library: National Language (locale)
Si no estan las instalamos ejecutando:
    sudo apt-get install locales
Comprobamos que el idioma es el correcto, ejecutando:
    sudo locale
Dará una salida parecida a:

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

Con el comando locale -a veremos los códigos de idioma disponibles en el sistema, el locale por defecto del sistema es C, que equivale al idioma inglés.
    sudo locale –a
Dará una salida paracida a:
   
    C
    es_ES
    es_ES.utf8
    POSIX

Para ver cual de ellos es el que está activo:
    sudo echo $LANG
Dará un a salida parecida a:
   
     es_ES.UTF-8

Si los locales no son los correctos, lo podemos reconfigurar ejecutando:
     sudo dpkg-reconfigure locales

Aparecerá una pantalla gráfica donde se debe elegir al menos uno de los locales.
Si elegimos varios, debemos establecer uno por defecto.

localepurge es una aplicación que permite mantener sólo las “locales” necesarias, dado que algunas aplicaciones instalan todos los locales por defecto.
Para instalarlo ejecutar:
     sudo apt-get install localepurge

Se instalarán los paquetes sugeridos debfoster deborphan
Después de la instalación aparecerá una pantalla donde debemos seleccionar los idiomas a conservar.
Finalmente lo ejecutamos con:
     sudo localepurge

Estos procedimientos permiten cambiar o verificar las locales para todo el sistema, pero, también podemos establecer distintas locales para diferentes usuarios.
Por ejemplo, editando el archivo ~/.bash_rc correspondiente del usuario y añadiendo la sentencia:
export LANG=”es_ES.ISO_8859- 1”  (para el código de idioma ISO-8859-1).

ISO 10646, UTF-8 y ISO 8859-1
Existe un sistema universal de codificación de caracteres definido por la norma ISO-10646 llamado UCS (Universal Character Set ó Conjunto de caracteres Universal).
En este conjunto se encuentran todo tipo de caracteres como pueden ser letras, números, símbolos, etc. procedentes de diversos lenguajes, así como los distintos sistemas de puntuación existentes en muchos idiomas del mundo.
Su cometido es estandarizar todos los sistemas de codificación posible, de modo que para cualquier carácter del mundo haya un número que lo identifique unívocamente.
De forma paralela al desarrollo de la norma UCS, un consorcio de empresas creó el proyecto Unicote con el objetivo de trabajar con el organismo ISO y desarrollar conjuntamente la norma ISO 10646. De hay que también nos suene lo de “Unicode”.
Con esto, UTF-8 (8-bit Unicote Transformation Format) es un formato para codificar caracteres UCS (o Unicode) utilizando secuencias de bytes.
UTF-8 fue una invención de Ken_Thompson (el creador de Unix) como medio para resolver el problema de utilizar Unicode en sistemas tipo Unix.
UTF-8 usa grupos de bytes para representar el estándar de Unicode para los alfabetos de muchos de los lenguajes del mundo.

Diferencias entre UTF e ISO 8859-1
El juego de caracteres básico es el famoso código ASCII de 7 bits, que no incluye la “eñe” ni las vocales acentuadas.

ISO 8859-1 es una norma que define la codificación del alfabeto latino, incluyendo la eñe y las letras acentuadas (entre otras letras especiales).
Esta norma posee la codificación ASCII en su rango inicial (128 caracteres) y otros 128, dando lugar a un código de 8 bits.
Lo mismo ocurre con la codificación de caracteres UTF-8, que alberga mayor número de caracteres con lo que la compatibilidad es mayor.
Las aplicaciones hacen uso de estas codificaciones de caracteres para mostrar adecuadamente el idioma establecido. Es aconsejable decantarse por una u otra y no “mezclarlas”, s decir, utilizar una codificación común para todas aplicaciones.

Puede ocurrir que, aunque esten las páginas del manual en castellano, veamos símbolos raros en palabras acentuadas.
La solución es la siguiente:
      Ejecutamos locale -m, para ver todos los mapas de caracteres que tenemos nuestro sistema.
      Al menos, debemos tener el UTF-8 y ISO-8859-1.
Para teclados nuevos (con el símbolo del euro), puede ser recomendable tener disponible el mapa de caracteres establecido en la norma ISO-8859-15 (euro).
Para instalar alguno de estos mapas que no tengamos, ejecutar:
      sudo apt-get install locales-all

Comprobar con el comando locale –a:
    sudo locale –a

    C
    es_ES
    es_ES.utf8
    es_ES.iso88591
    POSIX

Una vez establecida la configuración deseada, ejecutamos
    sudo dpkg-reconfigure locales para establecer la codificación por defecto.

Estan ligados los problemas del juego de caracteres con la configuración del teclado.
Si no tenemos configurado correctamente el mapa del teclado, seguimos los siguientes pasos:
Tenemos que tener instalados los paquetes:
console-common
console-data.

Cargamos el mapa por defecto mediante el comando:
     sudo loadkeys –d

Loading /usr/share/keymaps/i386/qwerty/defkeymap.kmap.gz

Normalmente la ruta será: path/{arquitectura}/{tipo_teclado}.
En este caso la arquitectura será “i386”, tipo de teclado “qwerty” sudo dpkg-reconfigure locales
Ahora sabemos donde están todos los mapas de teclado. Nos falta cargar el adecuado, lo vemos:
    sudo ls -laF path

total 428
drwxr-xr-x 2 root root 8192 2006-09-28 16:35 ./
drwxr-xr-x 8 root root 4096 2006-09-28 15:17 ../
-rw-r--r-- 1 root root 1647 2006-09-18 20:28 ar.kmap.gz
-rw-r--r-- 1 root root 2611 2006-09-18 20:28 bg-cp1251.kmap.gz
-rw-r--r-- 1 root root 2318 2006-09-18 20:28 bg.kmap.gz
-rw-r--r-- 1 root root 893 2006-09-18 20:28 br-abnt2.kmap.gz
-rw-r--r-- 1 root root 3256 2006-09-18 20:28 br-latin1.kmap.gz
…….
-rw-r--r-- 1 root root 3201 2006-09-18 20:28 us-intl.iso01.kmap.gz
-rw-r--r-- 1 root root 3468 2006-09-18 20:28 us-intl.iso15.kmap.gz
-rw-r--r-- 1 root root 628 2006-09-18 20:28 us.kmap.gz
-rw-r--r-- 1 root root 2465 2006-09-18 20:28 us-latin1.kmap.gz

Ejecutamos:

     sudo loadkeys es
ó
     sudo loadkeys es-cp850

También, podemos configurar el teclado de manera gráfica.

Ejecutamos:

sudo dpkg-reconfigure console-data

==================================

Saludos.


Equipo de Ubuntu-es
+1
0
-1
Imagen de cHemarY
+1
0
-1

Muchísimas gracias, sobre todo por esta clase magistral, eres todo un maestro.

 

 

 

 

-----------------------------------------------------------------------------------------

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios.
Sir Francis Crick.

+1
0
-1

 

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios. Sir Francis Crick.

Imagen de cHemarY
+1
0
-1

Cuando he reiniciado en las aplicaciones no puedo escribir los caracteres utf-8 en español, y ahora no puedo abrir el synaptic ni hacer sudo en el terminal porque la contraseña la tengo con caracteres especiales.

Además me ha borrado los archivos del escritorio y el firefox solo habre 2 pestañas de las 9 que están puestas.

Creo que está en teclado inglés, pero entro en sistema>preferencias>teclado y está configurado en español. 

¿Como lo soluiono?.

-----------------------------------------------------------------------------------------

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios.
Sir Francis Crick.

+1
0
-1

 

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios. Sir Francis Crick.

Imagen de Gabriel_M
+1
0
-1

Hola che....:

Inicia en modo de recuperación.

Lo harás como root sin password en consola.

Cambia el password a uno legible con: passwd

Reinicia normalmente.

Cambia si sigues con problemas:

sudo gedit /etc/environment

Le dejas asi: 

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games"
LC_TYPE=es_ES.UTF-8
LC_ALL=es_ES.UTF-8
LANG="es_ES.UTF-8" 
LANGUAGE="es_ES:es:en_US:en" 

sudo gedit /etc/default/locale

Lo dejas asi: 

LANG="es_ES.UTF-8"

Luego reconfigura los locales

sudo dpkg-reconfigure locales

Saludos.


Equipo de Ubuntu-es
+1
0
-1
Imagen de cHemarY
+1
0
-1

 Inicio en modo: terminal a prueba de fallos, hago:

$ passwd a

y me pone que el comando no es válido.

-----------------------------------------------------------------------------------------

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios.
Sir Francis Crick.

+1
0
-1

 

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios. Sir Francis Crick.

Imagen de Gabriel_M
+1
0
-1

Hola che...:

El comando es:

passwd tu_usuario

Si usas solo passwd, cambiará tambien la contraseña de tu_usuario, pero como estas como root te pedirá que ingreses la actual, que justamente es la que no puedes escribir por problemas de caracteres.

Saludos.


Equipo de Ubuntu-es
+1
0
-1
Imagen de cHemarY
+1
0
-1

No como root.

Esto es lo que ocurre:

$ passwd usuario

Chaning password for usuario

(current) UNIX password:(aquí pongo el nuevo password pero el cursor no se mueve(y pongo una contraseña de una letra para facilitar la transición))

passwd:Authentification failure.

passwd:Pasword unchanged.

$

 

¿Lo hago con el live cd?, por si acaso.

-----------------------------------------------------------------------------------------

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios.
Sir Francis Crick.

+1
0
-1

 

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios. Sir Francis Crick.

Imagen de Gabriel_M
+1
0
-1

Hola che...:

Inicia con el live-cd y haz chroot de la partición del disco para cambiarle el password.

el procedimiento es el siguiente:

Inicia con el live-cd de ubuntu.
Terminada la carga abre una terminal, consola y ejecuta:
sudo fdisk -l
Te dará una salida similar a esta:

Disco /dev/hda: 6495 MB, 6495068160 bytes
255 cabezas, 63 sectores/pistas, 789 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Disk identifier: 0x000437da

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/hda1   *           1         749     6016311   83  Linux
/dev/hda2             750         789      321300    5  Extendida
/dev/hda5             750         789      321268+  82  Linux swap / Solaris

La que tiene el * de inicio y formato Linux es la que corresponde a la instalación en el rígido.

Crea un directorio para montarle en /mnt de la sesión live, ejecuta en consola:

sudo mkdir /mnt/ubuntu

Monta la partición donde tienes instalado ubuntu, en esta salida /dev/hda1 en /mnt/ubuntu

sudo mount /dev/hda1 /mnt/ubuntu

Hazte dueño de la partición montada, ejecuta:

sudo chroot /mnt/ubuntu

Ahora cambia el password del usuario

sudo  passwd

Introduce y reintroduce la nueva password y ya está, has cambiado tu password en la partición Ubuntu

Saludos.


Equipo de Ubuntu-es
+1
0
-1
Imagen de cHemarY
+1
0
-1

totalmente, muchísimas gracias.

Para recuperar la contraseña antigua cuando haga algo con sudo en la terminal como procedo, no quiero volver a meter la pata, supongo que el directorio creado ya es inútil.

he observado que ahora todas las carpetas que antes aparecían en ingles están otra vez en castellano, y claro la ex carpeta desktop está en la papelera, he conseguido renombrarla, pero cuando abro lugares>Escritorio me sale el desktop que hay en la papelera, como hago para que aparezca el escritorio que le corresponde, ya he arrastrado hacia /home/usuario pero el contenido se queda en de la papelera

De nuevo muchas gracias, eres un máquina. ¿Como hago para saber lo que tu sabes?. He visto que has hecho muchos howto.

 

======================================================

Llevo con una idea desde hace tiempo, y puede ser que tú me puedas ayudar. Nunca me ha gustado la distribución del teclado tradicional, es decir el QWERTY, he pensado en colocar las teclas en orden alfabético ABCDEF, pero claro también tiene que estar en el mismo orden la tecla con el sistema que reconce el teclado y que cuando yo pulse por ejemplo la e en el nuevo lugar me escriba esa misma letra, tanto mayúscula como minúscula y lo que pueda llevar asociado a ella como símbolos. ¿Es posible hacerlo?. Si no pudes hacerlo indicame donde obtener la información al respecto. Muchas gracias.

====================================================== 

 

 

-----------------------------------------------------------------------------------------

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios.
Sir Francis Crick.

+1
0
-1

 

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios. Sir Francis Crick.

Imagen de Gabriel_M
+1
0
-1

Hola che...:

1) Para cambiar la contraseña en una consola ejecuta:

sudo passwd tu-usuario

introduces la contraseña actual y dos veces la nueva.

2) No me queda claro lo de tu escritorio, si esta en la papelera cortalo y pegalo en /home/tuusuario/

3) Simplemente lee los manuales.

4) Sobre el teclado es una idea no tan extaña, estimo que es factible, el origen del mismo es:

Que reproducen con bastante precisión los teclados de las antiguas máquinas de escribir. De esa forma, quien ya sabía escribir en máquinas mecánicas podía pasarse al ordenador fácilmente.

Las teclas no están en orden alfabético, y se distribuyen en filas pero las columnas asumen una extraña inclinación y estan colocadas las letras más frecuentemente usadas en posiciones que permitieran estar más separados a sus correspondientes martillos, y así se minimizaba el problema en la medida de lo posible. De esa forma nació la curiosa distribución de letras que todavía conservamos hoy  conocida como QWERTY porque esas son las seis primeras letras de la primera fila de teclas alfabéticas.

Efectivamente, hoy se podrían construir teclados mucho más eficaces, que tuvieran las teclas distribuídas en filas y columnas perfectamente perpendiculares, y/o que tuviesen una distribución de las letras más eficiente para el usuario. 

Con este tipo de planteamientos, en 1932 un profesor llamado August Dvorak propuso la redistribución de las letras en el mismo tipo de máquina física, en base a estudios científicos para obtener una escritura más cómoda y veloz. Este teclado no es conocido por las primeras letras sino por el nombre de su inventor (DVORAK), y parece probado que es mejor que el QUERTY. A su vez, esta opción luego fue aún más optimizada para generar el teclado llamado DSK ("Dvorak Simplified Keyboard", o teclado Dvorak simplificado).

Así que si buscas acerca de Dvorak Keyboard, supongo que encontrarás información  que pueda ayudarte en tu proyecto.

Y fin del post, pues esto se saló de su origen. 

Saludos.


Equipo de Ubuntu-es
+1
0
-1
Imagen de cHemarY
+1
0
-1

 Lo del teclado me ha quedado clarísimo, cuando he editado Sistema>Preferencias>Teclado había visto lo de Dvorak, pero pensé que era otra cosa y no le presté la debida atención.

Lo del escritorio lo solucioné con el ubuntu tweak. 

Hasta otra amigo. 

-----------------------------------------------------------------------------------------

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios.
Sir Francis Crick.

+1
0
-1

 

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

Lo que ayer creía todo el mundo y lo que Ud. cree hoy, no lo creerán mañana más que los necios. Sir Francis Crick.

Imagen de hivam
+1
0
-1

Hola,

He seguido las instrucciones, cuando ejecuto

$ sudo dpkg-reconfigure locales

Obtengo lo siguiente (no he transcrito todas las líneas que repiten up-to-date, solo pongo las que creo dan error.):

Generating locales...

Error: Bad entry 'en_GB.ISO-8859-1 '
en_GB.ISO-8859-1... up-to-date
Error: Bad entry 'es_CO.ISO-8859-1 '
es_CO.ISO-8859-1... up-to-date
Generation complete.

Luego, el comando en consola

env

Da un montón de cosas y en lo relacionado con lenguaje aparecen las siguientes líneas:

LC_ALL=es_CO.ISO-8859-1
LC_TYPE=es_CO.ISO-8859-1
LANG=es_CO.UTF-8
GDM_LANG=es_CO.UTF-8

Y al parecer el lenguaje sigue en utf-8.

Tal vez me puedan orientar en que me falta, y de paso explicarme la línea:

LANGUAGE="es_ES:es:en_US:en"

Gracias

+1
0
-1

"La libertad tecnológica - Un Derecho humano"
"Otro mundo es posible"

Imagen de josetxo mera
+1
0
-1

he intentado modificar el archivo local y nada, imposible, no doy con la manera de que me permita hacerlo.
y ciertamente el tema de la codificación de ubuntu me está dando muchos quebraderos de cabeza, soy escritor y además escribo en un blog y desde que empecé con ubuntu...
he buscado y rebuscado como adquirir permisos para poder editar esos archivos y nada.
necesito sugerencias, muchas gracias.

+1
0
-1