FileSystemObject - leer fichero de texto, líneas con acentos

08/04/2010 - 10:48 por Eva | Informe spam
Hola :)

Access 2000, abro un fichero de texto con FileSystemObject (he probado con
OpenAsTextStream y OpenTextFile), en el fichero tengo una línea tal que:

EDIFICACIÓN LOGISTICA INDUSTRIAL

Al leer esta línea con ReadLine obtengo:

EDIFICACIà"N LOGISTICA INDUSTRIAL

¿Qué hago mal? Gracias mil :)))))

Eva

Preguntas similare

Leer las respuestas

#6 Eva
09/04/2010 - 15:03 | Informe spam
Pos yo no soy ;)

"José Mª Fueyo" wrote:

Hola Eva
Sería interesante que nos pusieras el código que utilizas.

Salu2
José Mª Fueyo
[MS MVP Access]
.

Respuesta Responder a este mensaje
#7 Patxi Sanz
09/04/2010 - 17:26 | Informe spam
Tendrás que saber primero con qué configuración (ANSI, Unicode, ...) se ha
guardado el archivo.

La forma más sencilla es abrir el archivo con Word. Cuando lo abres con este
programa, antes de cargarse aparece un diálogo donde podrás ver las
distintas posibilidades, y una vista previa de cómo queda el archivo si se
emplea la configuración seleccionada.

Un saludo,


Patxi Sanz
Tudela (NA)
http://www.pasa.es.tt/
Respuesta Responder a este mensaje
#8 Eva
12/04/2010 - 11:28 | Informe spam
Hola Patxi

Unicode UTF-8 es lo que dice Word que abre

Gracias :)

"Patxi Sanz" wrote:

Tendrás que saber primero con qué configuración (ANSI, Unicode, ...) se ha
guardado el archivo.

La forma más sencilla es abrir el archivo con Word. Cuando lo abres con este
programa, antes de cargarse aparece un diálogo donde podrás ver las
distintas posibilidades, y una vista previa de cómo queda el archivo si se
emplea la configuración seleccionada.

Un saludo,


Patxi Sanz
Tudela (NA)
http://www.pasa.es.tt/

.

Respuesta Responder a este mensaje
#9 Patxi Sanz
13/04/2010 - 12:26 | Informe spam
Lo siento, me olvidé de un pequeño gran detalle :-(

El editor de VBA trabaja con la tabla de códigos ANSI, nunca Unicode. Por
eso, al pasar lo que estás leyendo del archivo a una variable de texto, ves
esos caracteres extraños, porque no hay conversión del carácter Unicode al
carácter ANSI.

Estoy intentando hacer alguna prueba, pero a lo más que llego es al mismo
resultado que tú, o a conseguir carateres en idiomas orientales (chino,
japonés o alguno similar).

Otra posibilidad, aunque puede llegar a ser fastidiosa, es cargar el texto y
luego reemplazar los caracteres extraños encontrados por los caracteres
deseados en ANSI:

à" -> Ó
...

Un saludo,


Patxi Sanz
Tudela (NA)
http://www.pasa.es.tt/
Respuesta Responder a este mensaje
#10 EnricV
13/04/2010 - 14:53 | Informe spam
Yo lo primero que hago antes que nada, es dejar el fichero en
condiciones, es decir, convertido,

Aquí os dejo,. lo que alguien me dejó,


Saludos desde VLC






Public Function ConvertUTF8File(sUTF8File As String, sANSIFile As
String) As String
Dim iFile As Integer, bData() As Byte, sData As String, lSize As Long

' Get the incoming data size
lSize = FileLen(sUTF8File)
If lSize > 0 Then
ReDim bData(0 To lSize - 1)

' Read the existing UTF-8 file
iFile = FreeFile()
Open sUTF8File For Binary As #iFile
Get #iFile, , bData
Close #iFile

' Convert all the data to Unicode (all VB Strings are Unicode)
sData = sUTF8ToUni(bData)
Else
sData = ""
End If

' Now write it all out to the ANSI file
iFile = FreeFile()
Open sANSIFile For Output As #iFile
Print #iFile, sData
Close iFile
'ahora le llamo como al ansii, para pasarselo a la otra func
ConvertUTF8File = sANSIFile

End Function
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida