2010-02-23 3 views
0

검색 색인에 XHTML 조각을 텍스트로 저장합니다. 사용자가 검색 요청을 제출하면이 텍스트를 내 페이지에 삽입하고 서버로 반환합니다. 텍스트에 ISO 8859-1 Symbol (저작권 기호 © 등)이있는 경우를 제외하고는 모두 잘됩니다. 기호가 브라우저에서 올바르게 표시되지 않으면 엔티티 번호 (# 169; 저작권 기호 ©)로 표시되고 기호로 표시되지 않습니다.브라우저에서 특수 HTML 문자가 올바르게 렌더링되지 않습니다.

XHTML을 복사하여 정적 웹 페이지에 붙여 브라우저에서 보면, 심볼이 올바르게 렌더링됩니다.

소스를 볼 때 위에서 언급 한 두 조건 모두에서 동일한 텍스트 문자열을 볼 수 있습니다.

진행 상황을 알려주시겠습니까? 어떻게 수정합니까?

내가 ASP.NET MVC 2를 사용하여 내 모델 컬렉션 오 문자열, XHTML의 각 들고 조각 인의 .ascx 페이지 내부의 XHTML을 추가하려면 다음 코드를 사용하고 있습니다 :

<%foreach(string s in ViewData.Model) {%> 
    <%= s %> 
    <%} %> 
<% 

감사합니다 너의 도움으로!

CoderGeek

답변

1

당신은 정확하게 렌더링하기 위해 인코딩에게 문자열을 HTML로해야

<%= Html.Encode(s) %> 

을 또는 ASP.NET 4를 사용하는 경우 새 code nugget 바로 가기를 이용할 수 있습니다

<%: s %> 
+0

고마워요.하지만 그게 내가하려는 일이 아닙니다. html을 렌더링하고 html의 텍스트 표현을 렌더링하지 않습니다. 내 특수 문자를 제외하고 내 HTML 렌더링 괜찮아요. – Barka

0

당신은 그래서 판권 소유 : 기호 acually © 또는 ©비록 귀하의 의견을 인코딩 HTML 필요이렇게하면 html로 인코딩 된 코드가 출력되거나 html로 디코딩 될 수 있습니다 !!!!

+0

롤은 & # 1 6 9; (하나의 문자열로하지만, 나중에는 HTML, 롤 인코딩 – davethecoder

+0

감사 이 & # 169를 표시하는 브라우저를 얻으려면 알고 무엇을하며 공간없이 다음 대신 © 유형 :! 입력이에 없다 & amp; # 169 html 인 코드.이 모든 내 서버에서 비롯됩니다. 그리고 기호를 제외한 모든 제대로 표시됩니다 (xhtml 올바르게 렌더링 된 - 즉, html 요소가 렌더링됩니다.) 감사! – Barka