¿Cómo puedo modificar un Acceso DB a partir de ISO-8859-2 para la codificación UTF-8 en una cadena de conexión?

StackOverflow https://stackoverflow.com/questions/71578

  •  09-06-2019
  •  | 
  •  

Pregunta

Tengo una base de datos en ISO-8859-2 formato, pero necesito crear XML en el formato UTF-8.Esto significa que debo codificar la base de datos antes de prinitng en UTF-8.Sé muy poco acerca de ASP.Net, por lo tanto espero que alguien pueda ayudar.

En PHP me gustaría hacer algo como esto:

db_connect();
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET character_set_client='UTF8'");

Este es mi ASP.Net código para la conexión de base de datos:

 'CONNECTION TO DATABASE
 dim dbconn,sql,dbcomm
 dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=" & Server.MapPath("../baze/test.mdb"))

 dbconn.Open()          

 sql="SELECT * FROM nekretnine, tipovinekretnina WHERE nekretnine.idtipnekretnine = tipovinekretnina.idtipnekretnine ORDER BY nekretnine.idnekretnine"
 dbcomm=New OleDbCommand(sql,dbconn)
 dbread=dbcomm.ExecuteReader()

 while dbread.Read()

¿Cómo y dónde puedo codificar en UTF-8?

¿Fue útil?

Solución

Suponiendo que se tiene una cadena de valor en str, este es el pure-.NET manera de hacer esto.

var encoding = System.Text.Encoding.GetEncoding("iso-8859-2");

var bytes = System.Text.Encoding.Convert(encoding, System.Text.Encoding.Default, encoding.GetBytes(str));

var newString = System.Text.Encoding.Default.GetString(bytes);

Otros consejos

El .NET Framework interno de tipo cadena es UTF-16.Toda la base de datos de acceso se va a convertir a UTF-16, de modo que usted puede ver los datos de forma adecuada:la base de datos, o el proveedor de OLE DB, va a convertir a UTF-16.

El XML escritor clases (que son el uso de XmlDocument o XmlWriter, ¿verdad?) entonces convertir a UTF-8 en la salida.

Básicamente, usted no debería tener que hacer nada extra.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top