Wie würde ich eine Access-DB von ISO-8859-2 auf UTF-8 in einer Verbindungszeichenfolge ändern?

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

  •  09-06-2019
  •  | 
  •  

Frage

Ich habe eine Datenbank in ISO-8859-2-Format, aber ich brauche XML in UTF-8 zu erstellen. Das bedeutet, dass ich die Datenbank vor prinitng in UTF-8 kodieren müssen. Ich weiß sehr wenig über ASP.Net, so dass ich hoffe, dass jemand helfen kann.

In PHP würde ich so etwas tun:

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

Das ist mein ASP.Net-Code für die Datenbankverbindung:

 '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()

Wo und wie kodieren ich in UTF-8?

War es hilfreich?

Lösung

Angenommen, Sie Wert Zeichenfolge in str haben, ist dies die pure-.NET Art und Weise, dies zu tun.

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);

Andere Tipps

Der interne String-Typ des .NET Framework ist UTF-16. Alle Datenbankzugriff wird auf UTF-16 konvertieren, so dass Sie die Daten in geeigneter Weise anzeigen können. Die Datenbank oder den OLE DB-Provider, wird UTF-16 konvertiert

Die XML-Writer-Klassen (Sie ist mit XmlDocument oder XmlWriter, nicht wahr?) Wird dann auf UTF-8 auf dem Ausgang umwandeln.

Grundsätzlich sollten Sie nicht nichts extra brauchen zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top