que tienen una aplicación VB6 que hace un listado de directorios de una carpeta y recoge los nombres de archivo. Algunos de estos son acentuados, por ejemplo, "Guimarães.txt" (letra pequeña A con tilde). Tanto la función VB Dir como las funciones FileSystemObject no pueden reconocer el carácter acentuado y, en su lugar, devuelven el nombre de archivo como "Guimar? Es.pdf", por lo que posteriormente no puedo abrir el archivo. Puedo ver el archivo correctamente en el Explorador de Windowsnombres de archivo de lectura acentuados en VB6
Esto sólo sucede en un entorno real, que ejecuta Windows Server 2003 R2. En nuestros sistemas de prueba, podemos leer el archivo correctamente, aunque estos son principalmente Windows 2008 y Windows 7. Inicialmente pensé que era la versión de FSO, pero como "Dir" da los mismos resultados, ya no lo creo. Además, cuando escribo el nombre del archivo en un archivo de registro, también es incorrecto. Entonces, creo que en una etapa muy temprana no puede manejar el personaje y lo reemplaza con un signo de interrogación.
Lo que necesito establecer es la causa del problema: ¿se trata de la versión de Windows o mis configuraciones regionales (que no puedo ver, ya que mi cuenta está bloqueada) y qué puedo hacer? para resolver el problema Por ahora, les pedí a los usuarios que no usen estos caracteres, pero esta no es una solución a largo plazo.
Gracias.
sospecharía el problema está relacionado con VB6 y su falta de soporte para Unicode. –
Intenta configurar "Idioma para programas que no sean Unicode" en Configuración regional en portugués y verifica si eso soluciona el problema. Yo creo que debería. Desafortunadamente, dudo que MS VB Runtime sea compatible con Unicode, como dice Cody. –
La causa subyacente es, de hecho, que VB6 intenta usar solo un byte para codificar 100.000 caracteres diferentes. Algunas letras perderán. Cambiar el idioma solo cambia qué letras perderán. Pero ã? Eso es U + 00E3, es decir, en ISO-8859-1/CP1252, que es con mucho el más común. – MSalters