2011-05-05 2 views
1

내 응용 프로그램에서 WPF WebBrowser 컨트롤을 사용합니다. 나는 독일어 움라우트 (ä ö ü)를 포함하는 파일 (mht)이 있습니다. 이제이 파일을 .Navigate (경로)로로드하지만 문제는이 문자가 올바르지 않게 표시된다는 것입니다. 이 문제를 어떻게 해결할 수 있습니까?WPF WebBrowser 및 독일어 "umlaute"와 같은 특수 문자

최고 감사합니다, 토마스

답변

2

것은 나는 다음과 그것을 해결했다 : 이것은 매우 황당

static void webBrowser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e) { 
     var webBrowser = sender as WebBrowser; 
     if(webBrowser == null) { 
      return; 
     } 
     var doc = (IHTMLDocument2)webBrowser.Document;   

     doc.charset = "utf-8"; 
     webBrowser.Refresh(); 
    } 
0

로컬 PC에있는 어느 버전 컨트롤은 내부적으로 인터넷 익스플로러를 사용하는 웹 브라우저. IE에서 문제를 해결할 수 있으면 WebBrowser 컨트롤에서 수정해야합니다.

+0

확인. IE에서 인코딩을 변경할 수 있다는 것을 보았습니다. 파일을로드하고 인코딩을 UTF-8로 변경하면 모두 완벽하게 표시됩니다. 하지만 WebBrowser 컨트롤에서 인코딩을 변경할 수있는 곳을 찾을 수 없습니다. 그것에 대해 나를 도울 수 있습니까? – BennoDual

+0

귀하의 페이지에서 다음 형식으로 인코딩 (문자 세트)을 시도해보십시오 :'' –

+0

설정으로 해결했습니다. 캐릭터 세트 – BennoDual

1

.

  1. 내 솔루션 내 HTML 파일에 명시 적으로 메타 태그를 넣어했다 - "내 Page.html"

    <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'> 
    
  2. 그럼 난 다음 URI 객체를 생성 한 표준 웹 브라우저 .NET 컨트롤을 사용하여 먼저.

    webBrowser1.Url = new Uri("My Page.html"); 
    
  3. 그런 다음 새로 고침 방법을 사용하여 페이지를 그립니다. 직접 탐색 방법을 사용하는 경우

    webBrowser1.Refresh(); 
    

참고 IT는 UTF-8 지시자를 데리러 실패하지만, URI와 접근 방식이하는 새로 고침.

변덕 스럽지만 작동합니다.

+1

SO Gavin에 오신 것을 환영합니다. '<' & '>'에 멋진 렌더링을 시도하는 대신 4 개의 공백을 추가하여 코드를 강조 표시하거나'. – j0k