Beta, como Goooogle
15 Ene
Cada vez me encuentro con más casos en los que necesito escribir caracteres especiales, más allá de la eñe (Ñ), las tildes u otros caracteres habituales entre la mayoría de europeos occidentales (ç, à, ê, å, etc). El verdadero problema llega cuando necesitas escribir en otros idomas como ruso, árabe, chino, japonés, polaco, etc, o como mínimo, hacer tu web/aplicación compatible con estos juegos de caracteres.
El problema tiene fácil solución, se llama utf-8, un juego de caracteres especial que utiliza de 1 a 4 bytes por caracter, según sea necesario y es compatible con los canales de transmisión de 8bits. Es decir, que podemos enviar un texto con caracteres de múltiples culturas a la vez, utilizando los canales habituales, mail, web, irc, ftp, etc.
Lo único que queda por saber es cómo convertir documentos de texto que tengamos en iso-8859-15 (el juego de caracteres habitual en españa) a utf-8. Esta tarea la podemos realizar utilizando el comando “iconv” en linux (o bajando la misma aplicación en versión para Windows) y ejecutando el siguiente comando:
iconv documento.txt -f iso-8859-15 -t utf8 -o documento-utf.txt
documento.txt es el nombre del fichero que queremos convertir, -f iso-8859-15 es la codificación actual del fichero, -t utf8 es la codificación de destino y -o documento-utf.txt es el fichero dónde el programa escribirá el resultado.
Este comando me ha resultado especialmente útil para convertir algunas de mis páginas web a utf8. Por cierto, esta web usa utf-8.
10 Responses for "Conviertiendo de iso-8859-15 a utf-8 fácilmente"
Hola, quiero convertir un archivo a utf8 con Windows, me he descargado iconv desde el enlaces que das y lo he instalado… pero ¿como se usa?
Gracias
Tienes que añadir la ruta hacia el iconv.exe en el path de tu sistema y luego desde la consola ejecutar las instrucciones que se indican en el post.
gracias por la información , peor lo que ando buscando es algo que me cambie la codificación de caracteres iso-8859-15 a utf-8 todos los códigos fuentes de una carpeta que a su ves tiene otras carpeta: y no tener que hacer manualmente fichero por fichero
atte
Hola, use lo que dices y tiene el problema de que la ñ la transforma en a±. Como se puede hacer para que no ocurra esto?
Respecto a la duda de desarrollador, tienes que hacer ya sea en shell o en perl un script para recorrer todo y llamar al comando iconv para cada archivo.
Prueba con otras codificaciones. Poniendo iso-8859-1 en la entrada en vez de -15 y asegúrate también de que el editor con el que estás viendo el texto final soporta utf-8.
hola mira tengo una duda ya descargue el programa para windows y lo ejecute y tengo la consola pero el comando seria asi?
iconv -f ISO-8859-1 -t UTF-8 backup.sql > backup_utf8.sql
en donde dice ISO-8859-1 es donde pongo la codificacion de mi base de datos? osea por ejemplo latin1.
esa es la q tengo
ojala me ayudes desde ya gracias
Perdon por mi ignorancia…. ya entiendo por q se usa el ISO-8859-1
este comando
iconv -f ISO-8859-1 -t UTF-8 backup.sql > backup_utf8.sql
lo tengo bn formado asi es para covertir de latin1 a utf-8 pero te pregunto me prodrias dar el comando extacto para libiconv?
el problema esque yo en la consola escribo el comando para poder convertir mi archivo pero no me funciona no crea el otro archivo q le indico q cree osea el backup_utf8.sql
nada cambia ojala me pudieras ayudar gracias
Hazlo sin redirecciones y mira a ver qué te sale. Quizá te da error.
También hay mecanismos en MySQL para tratar los charsets.
Bueno podríamos usar para transformar todo lo de la carpeta iconv /path/*.txt -f iso-8859-15 -t utf8 -o documento-*.txt donde * podría ser una variable ahora que ni idea como usar variables o aliases en windows osea leer el archivo y pasarle el nombre de la variable al script para que cambie los archivos incluso para la extension se podría usar variables pero ni idea como manejar variables en windows y si iconv(windows) acepta que se le pasen varibles
Amigos, yo lo hice asi para windows y me funciono:
Primero descagarse el iconv para windows
Lo instalan
En esta ruta C:\Archivos de programa\GnuWin32\bin copian el script de su base de datos (mi_bd.sql)
Van a la linea de comandos (cmd)
En win xp se van a esta ruta: C:\Archivos de programa\GnuWin32\bin
Ahi ejecutan el comando: iconv -f ISO-8859-1 -t UTF-8 backup.sql > backup_utf8.sql
En la misma carpeta genera el archivo convertido.
Saludos
Leave a reply