كيف يمكنني تغيير وصول DB من ISO-8859-2 إلى UTF-8 في سلسلة اتصال?

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

  •  09-06-2019
  •  | 
  •  

سؤال

لدي قاعدة بيانات في ISO-8859-2 الشكل ، ولكن أنا بحاجة إلى إنشاء XML في UTF-8.وهذا يعني أنه يجب أن ترميز قاعدة البيانات قبل prinitng في UTF-8.أنا أعرف القليل جدا عن ASP.Net لذا آمل شخص يمكن أن تساعد.

في PHP أود أن تفعل شيئا مثل هذا:

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

هذا هو بلدي ASP.Net رمز اتصال قاعدة البيانات:

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

أين وكيف يمكنني ترميز UTF-8?

هل كانت مفيدة؟

المحلول

على افتراض لديك قيمة السلسلة في str, هذا هو pure-.NET طريقة للقيام بذلك.

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

نصائح أخرى

على .NET Framework الداخلية نوع السلسلة هو UTF-16.جميع الوصول إلى قاعدة البيانات سيتم تحويل إلى UTF-16 بحيث يمكنك عرض البيانات بشكل مناسب:قاعدة البيانات ، أو موفر OLE DB ، convert to UTF-16.

XML الكاتب فصول (أنت هي باستخدام XmlDocument أو XmlWriter, صحيح؟) ثم convert to UTF-8 على الإخراج.

في الأساس يجب أن لا تحتاج إلى القيام بأي شيء إضافي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top