2010-05-04 2 views
0

히브리어와 같은 UTF-16 문자열을 인쇄하려고하면 결국 HTML 인코딩 (& #xxxx)으로 표시됩니다.JSP의 UTF-16 문자열을 HTML 인코딩 (& # xxxx)으로 출력합니다.

이 문제는 변수 배열을 웹 페이지에 인쇄 한 다음 구문 분석하기 때문에 발생합니다. 변수는 모두 UTF-16 문자열이지만 일단 서블릿이 변수를 인쇄하면 HTML 인코딩으로 변환됩니다. 인코딩을 제거 할 수있는 방법이 있습니까? 좀 더 배경에 미리

덕분에

편집 :

내가 인쇄 페이지의 전체 아닙니다있어 JSP. 그것은 내가 JSP 페이지 출력을 내장 된 페이지에 인쇄하는 서버 응용 프로그램에서 이해하지 못하는 방식으로 사용됩니다. 이것은 프레임 같은 것이 아닙니다. 그냥 방향이 바뀌 었습니다. JSP로 헤더에

contentType="text/html; charset=UTF-8" 

을 추가하는 경우

+0

"* 표시 *를 HTML 인코딩 (& # xxxx)으로 표시 할 때, 실제로는 '& # xxxx' 인 것을 의미합니까? – MSalters

+0

아니요, 원래 실제 문자열이지만 실제 서체에 의해 서블릿으로 변환되었습니다 (기본값은 & # xxxx –

+1

). 이는 기본 JSP 동작이 아닙니다. 당신은 당신이 알지 못하는 올바른 MVC 또는 템플릿 프레임 워크를 사용하고 있습니다. 관리자/건축가/동료에게 어떤 프레임 워크인지 물어보십시오. 나는 또한이 문제를 그들에게 전달할뿐 아니라 원인과 해결책을 알 수 있습니다. 이것은 JSF와 같은 XML 기반의 MVC 프레임 워크와 매우 흡사합니다. – BalusC

답변

1

참조 (<%@page ...가) 도움이됩니다.

+0

작동하지 않았습니다. 상황에 대한 좀 더 명확한 설명을 원하면 편집을 참조하십시오. –

+0

또한 UTF-8 대신 UTF-16을 사용해 보았지만 모든 것을 완전히 망 쳤습니다. 나는 그것이 작동하도록 의도되지 않았다고 가정합니다. –

+0

@Ori : UTF-16이 웹에서 전혀 지원되는지 모르겠습니다. 아마도 그렇 겠지만 사용 된 것을 본 적이 없습니다. 페이지 생성 방법에 대한 세부 사항이 없으면 더 많은 것을 말하기 어렵습니다. 'HttpServletResponse' 객체의'setContentType()'을 어디서 어디에서 호출하는지 보면 "틀린"(UTF-8이 아님) 또는 누락되었을 수 있습니다. 'Content-Type' 헤더를위한'setHeader()'호출을 검색하십시오 - 그것들 중 무엇이 우선 순위를 차지하는 지 모르겠습니다. – doublep