2012-03-12 1 views
0

실행하면 올바르게 모든 유니 코드 인코딩 된 문자가 표시됩니다 (확인을 마쳤습니다). 이 데이터는 데이터베이스 파일에 저장됩니다. 그리고 나는 그들 모두를 읽을 수있는 응용 프로그램을 작성하지만 예상대로 올바르게 읽을 수는 없습니다. 일본어, 중국어, 한국어와 같은 언어는 괜찮습니다. 베트남어, 독일어 네덜란드어 등의 언어 만 사용할 수 있습니다. 문자 위에 점 또는 획을 사용하면 간결하게 표시 할 수 없습니다. 어떤 도움을 주셔서 감사합니다.내 응용 프로그램에 유니 코드 인코딩 된 문자 읽기

[UPDATE] 그럼 당신을 감사

, 나는 이미 내 컴퓨터 시스템에있는 한 나는, 설치 될 더 이상 중동 및 아시아 언어의 필요가 있다고 생각하지 않습니다. 단지 내가 만든 응용 프로그램에 표시 할 수 없지만 데이터베이스를 저장하고 검색하는 응용 프로그램에 잘 표시됩니다. 예를 들어, 야후 메신저가 단일 언어를 사용하는 예전에는 영어 만 표시 할 수 있었지만 나중에 다른 언어의 다른 문자를 올바르게 표시하기 위해 다른 DLL과 함께 추가되었습니다. dll을 다루기 위해 다른 언어를 읽는 설정이 더 이상 필요하지 않습니다. 현재 메신저가 키보드에서 다른 입력을 통해 영어, 일본어, 중국어를 읽을 수 있다고 가정하면 messengerreader라고하는 내 응용 프로그램은 이러한 입력을 읽는 것입니다. 메신저 리더는 위에서 언급 한 것처럼 일부 메신저 판독기로는 알 수없는 반면, 메신저는 해당 인풋으로 정상적으로 작동합니다. 그들 모두를 작동 시키려면 지금 무엇을해야합니까? 나는 어떤 도움에 감사드립니다. [UPDATE 다시]

확인

, 내가 원래 응용 프로그램에서 "Lê 상"으로 올바르게 표시되는 사용자 이름을 읽을 필요가 내 응용 프로그램에 지금까지 생각할 수있는 쉬운 예. 내 응용 프로그램은 'L'다음에 이상한 문자를 표시합니다.

public struct Username 
{ 
    public string username; 
} 

IEnumerable<Username> Getuser(string tableName) 
{ 
    Datatable dt=ReadDB(tableName); 
    List<Username> lst=new List<Username>(); 

    lst.Add(new Username(){username=dt.Rows[0]['username']}); 
    return lst.ToList(); 
} 
+0

종류를 줄 수 있습니까? UTF-8? UTF-16 LE/BE? UTF832? –

+2

어떤 OS를 사용하고 있습니까? 동아시아 언어에 대한 지원을 설치해야 할 수도 있습니다. –

+0

내가 더 명확하게 업데이트합니다. – Hoger

답변

0

하면, 사용자 이름 문자열의 진수를 덤프

public string UserNameAsHexDump { 
     get 
     { 

      char[] ca = username.ToCharArray(); 

      string output = ""; 
      foreach (char c in ca) 
      { 
       output += string.Format("{0} - {1:X4}\r\n", c, (uint)c); 
      } 

      return output; 

     } 
    } 

이 같은 방법을 추가 결과를 복사하고 우리가 원시 데이터를 참조 할 수있다 "Lê 상"은 샘플 제공 : 그에서

L - 004C 
ê - 00EA 
    - 0020 
S - 0053 
a - 0061 
o - 006F 

그래서 아마 당신에게 대답 유니 코드의