연결 문자열에서 Access DB를 ISO-8859-2에서 UTF-8로 어떻게 변경합니까?

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

  •  09-06-2019
  •  | 
  •  

문제

ISO-8859-2 형식의 데이터베이스가 있지만 UTF-8로 XML을 생성해야 합니다.이는 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, 이는 이 작업을 수행하는 순수 .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 공급자는 UTF-16으로 변환됩니다.

XML 작성기 클래스(당신은 ~이다 XmlDocument 또는 XmlWriter를 사용하면 출력이 UTF-8로 변환됩니다.

기본적으로 추가 작업을 수행할 필요가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top