Importar desde .dbf

04/11/2006 - 00:10 por Agustin | Informe spam
Hola, estoy haciendo un modulo de importación de datos de otras aplicaciones
que estan en el antiguo dbase(clipper) como puedo convertir las cadenas de
texto OEM a ANSI, pues me salen simbolos 'raros'.

Gracias
Agustin
 

Leer las respuestas

#1 Alberto Poblacion [MVP]
04/11/2006 - 10:11 | Informe spam
"Agustin" wrote in message
news:OJMjC15$
Hola, estoy haciendo un modulo de importación de datos de otras
aplicaciones que estan en el antiguo dbase(clipper) como puedo convertir
las cadenas de texto OEM a ANSI, pues me salen simbolos 'raros'.



Usa System.Text.Encoding. Básicamente, quieres convertir del encoding
437 (OEM) al 1252 (Windows), o bien leer desde el 437 y dejar los resultados
en un String (Unicode):

using System.Text.Encoding;
...
Encoding codigoOEM = Encoding.GetEncoding(437);
byte[] bytesAConvertir = ...;
string TextoConvertido = codigoOEM.GetString(bytesAConvertir);

Observa que partimos de "bytesAConvertir" y no de un "stringAConvertir".
Si tuvieses ya los caracteres metidos en un string, entonces ya se ha
producido una conversión (mal hecha) desde los bytes que había en el dbf
hacia un string (que siempre contiene Unicode en .Net), con lo cual nos
encontramos con el problema de deshacer la conversión mal hecha para volver
a hacerla bien.

Preguntas similares