Categorías: Noticias

Convirtiendo texto en diferentes juegos de caracteres desde la línea de consola

El otro día compilando unos ficheros fuente en Java, el javac me avisaba de que la codificación del fichero era ISO-8859 y que por lo tanto había problemas a la hora de interpretar todos los acentos y caracteres no ASCII presentes en el fuente. En realidad son avisos lo que aparecen y no errores, por lo que tampoco es necesario hacerlo pero sí conveniente para evitar las filas y filas de warning.

Este problema es frecuente cuando el fichero ha sido editado en Windows. En sistemas Linux no es problema porque suele utilizarse por defecto UTF-8.

La solución más rápida es pasarle un argumento más al compilador (esta opción también existe en otros compiladores). En el caso de javac sería así:

javac -encoding ISO-8859-1

Sin embargo, la solución más óptima es la de usar una utilidad que convierta el juego de caracteres de forma automática. Existe una aplicación para consola llamada iconv que hace esta labor por nosotros, para resolver nuestro problema las instrucciones a ejecutar serían:

iconv –from-code=ISO-8859-1 –to-code=UTF-8 codigo_iso.java > codigo_utf.java

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

Entradas recientes

DeepSeek

3 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

1 mes hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace