Especifica el entorno en que te mueves y el lenguaje que estás utilizando.
Me ha pasado con frecuencia conflictos entre el entorno y el lenguaje.
Hola,
Estoy escribiendo un programilla para clasificar mis fotos, y estoy utilizando DCRAW para visualizar los archivos RAW. Todo funcionaba perfectamente, hasta que por casualidad aparece un archivo con caracteres "raros" en el nombre (concretamente la palabra març, marzo en catalán) y el DCRAW dice que no existe tal archivo. Me pasó algo parecido con la herramienta (maravillosa, por cierto) ExifTool pero éste sí tiene prevista la utilización de UTF-8 en los nombres de archivo.
¿Alguien sabe algo respecto del DCRAW?. ¿Existe algún comando para que DCRAW entienda los nombres de archivo con acentos, ñ, Ñ, etc...?. Le quedaré muy agradecido!.
Saludos cordiales.
Especifica el entorno en que te mueves y el lenguaje que estás utilizando.
Me ha pasado con frecuencia conflictos entre el entorno y el lenguaje.
Clic, clic, clic...
Hola,
Trabajo con Windows 7-Professional 64 bits. El programa está escrito en Object Pascal, utilizando Lazarus 1.6.4 y FPC 3.02 como entorno/compilador. De todas maneras, no creo que el problema sea del entorno ni del compilador, ya que operan en Unicode perfectamente y además cuando utilizo DCRAW desde la linea de comandos (cmd), si el nombre del archivo no tiene caracteres "raros" funciona correctamente, pero en caso contrario me da el mensaje de "archivo no existente" que es el mismo que me pasa la función CreateProcess a través de la salida estandard.
Gracias por el interés, a ver si encontramos alguna solución...
Saludos cordiales.
Última edición por JosepB; 29/04/17 a las 11:53:43
No uso Windows, pero te puedo decir que DCRAW en Linux funciona perfectamente con los caracteres UTF-8 que comentas.
He probado a incluir la palabra "març" en el nombre de un archivo .cr2 y DCRAW lo convierte sin problemas.
He encontrado ahora este enlace sobre los problemas con caracteres UTF-8 en Windows de un programa que usa ExifTool. Dice que el problema viene de que las librerías C standard de entrada/salida en Windows no soportan UTF-8 en los nombres de fichero, aunque en versiones recientes de ExifTool han añadido una manera de solucionarlo:
Más información sobre el problema aquí:-Unicode in pathnames: On Windows, ExifTool will not process files with non-ASCII Unicode characters in the filename or pathname. (This includes accented characters such as ä, é, è, ö, ü, and other non-English characters.) This is due to an underlying lack of support for Unicode filenames in the Windows standard C I/O libraries. (This problem does not exist on Linux.) Exiftool 9.79 addresses this problem but FastPhotoTagger has not been modified to support the Exiftool solution.
https://en.wikipedia.org/wiki/Unicod...rosoft_Windows
https://stackoverflow.com/questions/...f-8-in-windows
Última edición por josepvm; 29/04/17 a las 12:52:35
Si yo te contara...
¿Has compilado DCRAW o simplemente te lo has descargado? Los tiros van por lo que dice josepvm, si tu compilador de ObjectPascal es compatible con UTF-8 hay que verificar si el DCRAW se compiló también con dicho soporte.
Web del autor: http://www.cybercom.net/~dcoffin/dcraw/
Clic, clic, clic...
Hola,
Efectivamente, en Linux (Ubuntu) funciona correctamente, como he podido comprobar. El DCRAW lo he descargado en binario; ahora he descargado el fuente, he intentado compilarlo en VC++ 2013 y me salen tropecientos mil errores, cosa normal me imagino ya que compilar el código de otro, escrito en un lenguage en el que no estás familiarizado es muy difícil. Mi idea era si existía en DCRAW alguna manera de sortear el problema como sí la hay en el ExifTool (que está escrito en Perl, no en C...). En esta herramienta, con poner en la linea de comandos "-charset filename=UTF8" junto con el resto de los parámetros, funciona perfectamente.
Me estoy inclinando por la solución de copiar el archivo "problemático" a un directorio temporal, visualizarlo u obtener el TIFF y borrarlo a continuación. Esto va a ralentizar la ejecución pero lo veo más asequible que compilar el DCRAW.C (y que funcione con Unicode después, que ésta es otra...).
Gracias por las respuestas y sugerencias. La verdad es que este foro es fantástico, mejor dicho, no el foro, sino sus usuarios!.
Saludos cordiales.
Marcadores