Ayer tuve la necesidad de hacer uncambio de codificación masivo de archivos para un proyecto. El caso es que tenía varias decenas de archivos de texto y HTML distribuidos en varios niveles de carpetas. Éstos estaban codificados como UTF-8 y necesitaba disponer de los mismos con codificación ANSI. Dado que es un problema que se puede presentar a menudo en empresas como la nuestra que maneja muchos contenidos decidí escribir una utilidad que hicera conversiones entre diferentes tipos de coficación. Así que mientras veía un par de capítulos de CSI (no me pueden dejar de rodrgíguez, si ya lo digo yo) escribí esta pequeña utilidad que estoy seguro que a muchos les puede resultar de ayuda.
Se trata de FileEncodingConverter.exe. Es una aplicación de consola que toma como parámetros la ruta base que contiene nuestros archivos y, opcionalmente un tipo de codificación a la que queremos convertirlos. Acepta rutas relativas a la carpeta actual y rutas absolutas.
Los tipos de codificación soportados son los siguientes: ANSI, ASCII, Unicode, UnicodeBI (Big Indian), UTF32, UTF7, UTF8. No se distinguen mayúsculas y minúsculas. Si omitimos la codificación se usará ANSI.
Lo que hace es recorrer la carpeta base especificada y todas sus subcarpetas y transforma todos los archivos con extensiones .htm, .html y .txt a la codificación de destino especificada. Sólo transforma un archivo si es necesario, puesto que si ya está guardado con la codificación especificada no pasa el trabajo inutilmente. Muestra un progreso de los archivos que va transformando, y al final muestra un resumen de lo que ha hecho.
Así, por ejemplo, para transformar todos los archivos de una carpeta y sus subcarpetas de su codificación actual a Unicode Big Indian escribiríamos:
FileEncodingConverter C:Micarpeta UnicodeBI
o para convertir todos a ANSi valdría con poner:
FileEncodingConverter C:Micarpeta
Si no ponemos nada o uamos los parámetros /? o -? muestra una ayuda básica por consola.
Te lo puedes descargar desde aquí: FileEncodingConverter (3,73 KB). Necesitarás la versi´no 2.0 o superior de .NET instalada.
¡Que lo disfrutes!
Buena aplicación. Sencilla pero de lo más útil.
Aunque si me permites una sugerencia, estaría bien que también incluyeras los ficheros .php en la lista de extensiones.
O, mejor, dejar al usuario especificar qué extensiones quiere cambiar.
Por ejemplo,
c:>FileEncodingConverter -e html php txt -f c:Carpeta -c UTF8
De esta manera, podrías, también, cambiar el orden de ingreso de parámetros.
Espero que este comentario te sirva para mejorar tu aplicación.
Un saludo
Gracias por el comentario.
La verdad es que resultaría fácil añadir eso que dices. Yo hice la aplicación para una necesidad muy concreta que tenía, de ahí que tampoco pretendiera que fuera ultra-flexible, si bien sirve para bastantes cosas.
Si quieres pídeme el código fuente y te lo mando para que puedas retocarlo tú mismo 🙂
Saludos
JM.
Hola, la verdad es que la aplicación me resulta muy útil, pero tengo el problema de que tengo que cambiar de codificacion archivos de muchos tipos diferentes: .xhtml, .xml, .php, .java, etc. Si te viene bien, podrías mandarme el código fuente (a electrofiloARROBAgmailPUNTOcom), y si no muchas gracias igualmente por leerme.
Saludos
Me parecio bastante util, te molestaria compartir el código o dar tips de como hacer este cambio en la codificación.
Gracias
Hola Edgar:
Escríbeme un correo facilitándome tu correo electrónico y un poquito de información sobre ti (en qué país o región estás, a qué te dedicas.. para estadísticas nada más) y te lo hago llegar por e-mail.
Saludos
JM.
Hola Edgar, a mi tambien me gustaria tener la utilidad para cualquier archivo, me la puedes enviar? o no se como hariamos …
Saludos,
Manolo
Manolo:
Te digo lo mismo que a Edgar:
Escríbeme un correo (usa el enlace de Contacto dellateral) facilitándome tu correo electrónico y un poquito de información sobre ti (en qué país o región estás, a qué te dedicas.. para estadísticas nada más) y te lo hago llegar por e-mail.
Saludos
JM.
¡Hola!
Soy Ricardo Naharro y tengo 26 años. Soy de Puertollano (Ciudad Real) y estoy interesado en el código fuente de la utilidad para retocarlo un poco y convertir a utf8 un proyecto en php evitando ciertas carpetas.
He intentado contactar varias veces mediante el formulario de contacto y siempre me da error. Mi email es rnaharroARROBAsionPUNTOes
¿Has pensado en liberar el código? ¿O crear el proyecto en sourceforge o alguno por el estilo?
Seguro muchas personas te lo agradecerían.
hola que tal?
tengo un problema quiero generar por dos un arbol de mis carpetas y guardarlas en un .txt pero no logro que salgan los caracteres adecuados en lugar de que me salgan estos caracteres formando el arbol «─├┬┴└» salen estos «ÃÀij »
quisiera saber como puedo generar un archvo con esos primeros caracteres y no con las «ÃÀij » por el momento lo que tengo es algo asi C:windows>tree > «c:informe.txt»
hola soy de tuxpan veracruz, mexico y necesito informacion acerca de los Dataset tipados y no tipados. gracias. mi correo miguel_angel_mda_1989@hotmail.com. GRACIAS
Hola Miguel Ángel:
Lo siento pero no te puedo escribir para contestarte dudas. Si quieres que haga de tutor para tí tenemos unos cursos excelentes en campusMVP (http://www.campusmvp.com) en los cuales puedes preguntar dudas y se te contestan.
Saludos
JM
Muy buena utilidad en 2 seg convirtió 80 archivos!!
Hoola……. leí acerca de la aplicación, y la verdad me sería muy útil, pero la descargue y quise correrla , pero no se puede, solamente aparece la ventana de consola por milisegundos, no hay ning{un mensaje de error ni nada por el estilo… que puede ser..???
tengo instalado .NET 3.5, abrá algun problema con eso…??
Gracias José M., me acabas de salvar la vida…
Leí que decías que .txt, .htm y .html, pero a mi me convirtió todo lo que le metí, ¿Has colgado una versión nueva?
Mi caso concreto fué:
FileEncodingConverter «ruta_archivos» utf8 *.txt, *.html, *.css, *.js, *.php,*.xml
No falló ni uno, 2546 archivos en 746 carpetas (todito el joomla 1.5 en menos de 1 minuto.
– Estoy con Javier Alfonso, a mucha gente le interesaría –
Hola gAb:
Efectivamente, hay una versión nueva que saqué unos meses después:
http://www.jasoft.org/Blog/post/PermaLinkaspxguid=4e574ed8-6e6a-4717-bf35-d67ecf8.aspx
Respecto al código, me lo podéis pedir cuando queráis, tal y como digo en el propio post.
Saludos,