2011-05-16 3 views
0

C#에서 Sqlite 데이터베이스로 작업하고이 질문이 있습니다. Sqlite 데이터베이스가 페르시아어/아랍어 인코딩을 지원합니까? 내가 아랍어/페르시아어 데이터를 작성했기 때문에 데이터베이스에서 데이터를 읽고 싶을 때 부적절한 형식으로 읽습니다 !!! enter image description hereSqlite 데이터베이스는 페르시아어/아랍어 인코딩을 지원합니까?

내 코드 :

int len = ds.Tables["tbl"].Rows.Count; 
      int index = rnd.Next(0, len - 1); 
      //notifyIcon1.ShowBalloonTip(15, "پیام عشق ", ds.Tables["tbl"].Rows[index][0].ToString(), ToolTipIcon.Info); 
      string str = ds.Tables["tbl"].Rows[index][0].ToString(); 
      MessageBox.Show(str); 

감사합니다. 내 코드의 다음

:

짧은에서
DataSet ds; 
ds = SQLite_DB.Select_DB(SQLite_DB.Con_string("data.s3db"), "select * from info"); 
+2

코드는 Sqlite와 아무 관련이 없습니다. – SLaks

답변

0

: 제

SQLite는 지원 단지 아주, 인코딩의 매우 제한된 수의 : UTF-8, UTF-16 (여러 종류).

다행히도 UTF-8은 아랍어 또는 페르시아어 또는 다른 언어 (Klingon을 포함하여 멋지게 포착해야 함) 표현에 완벽하게 적합합니다.

툴체인의 다른 부분이 인코딩을 무시하고 있다는 것을 명심하십시오. C# .net SQLite 래퍼와 Forms 코드에 대한 문서를 확인하십시오.

+0

지금 올바른 결과를 얻으려면 어떻게해야합니까? –

+0

@salar_cpp_cs : 전체 툴체인을 살펴보고 모든 단계에서 UTF-8 청결을 테스트하십시오. sqlite3.exe와 같은 외부 실행 파일을 사용하여 데이터베이스의 형식이 올바른지 확인하십시오 (플랫폼에 따라 다름). 소스 파일이 UTF-8로 인코딩되었는지 확인하고 적절한 컴파일러 플래그가 설정되었는지 확인하고 보조 파일이 올바르게 인코딩되고 올바르게 읽는지 확인하고 C# lln 및 i18n 유틸리티를 사용하는 방법을 배우고 몇 가지 핵심 개념을 이해합니다 문자 인코딩 및 SQLite 설계 방법에 대해 설명합니다. 우선. –

+0

Williham은 정확합니다. 쓰레기가 들어가 있지 않은지 확인해야합니다. System.Data.Sqlite를 사용하는 경우 데이터를 삽입 할 위치에 중단 점을 넣으십시오. 아마도 당신은 SqliteCommand 매개 변수를 통해이를 수행 할 것입니다. 매개 변수 값이 무엇인지 살펴 봅니다. 쓰레기라면 인코딩을 잘못 처리하는 것입니다. System.Data.Sqlite는 CLR 문자열 (기본적으로 UCS2)을 받아 들여 UTF-8로 변환하므로 문자열이 잘 보이는 한 올바르게 바르게 출력되어야합니다. –

2

Version 3 이상을 사용하는 경우 UTF-8/UTF-16을 사용할 수 있습니다. 이것이 아랍어를위한 최선의 방법입니다.

+0

지금 올바른 결과를 얻으려면 어떻게해야합니까? –

관련 문제