연결 문자열에서 Access DB를 ISO-8859-2에서 UTF-8로 어떻게 변경합니까?
문제
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로 변환됩니다.
기본적으로 추가 작업을 수행할 필요가 없습니다.
제휴하지 않습니다 StackOverflow