2011-08-14 4 views
2

jsp를 사용하여 struts2 구성 요소를 만들려고했는데 두 JSP 페이지 모두에서 UTF-8 헤더를 사용했지만 최종 결과에서 해당 기호가 손상된 것으로 나타납니다. 내가 UTF-8을 GBK로 바꾸면, 괜찮아 질 것입니다. kown에게 'UTF-8'이 작동하지 않는 이유를 고맙습니다. 스트럿츠 버전 2.1.8Struts2 구성 요소가 영어 이외의 문자를 손상시킵니다. (중국어)

<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%> 

<퍼센트 @ 태그 라이브러리 URI = "/ 스트럿 - 태그"접두사 = "의"%>

componentTag.jsp

<s:component template="mytemplate.jsp"> 
    <s:param name="list" value="{'java程序设计','Ajax完全学习手册','Struts2学习手册'"> 
    </s:param> 
</s:component> 

mytemplate.jsp (/ 다음 WebRoot/템플릿/XHTML)는

<div style="background-color:#eeeeee;" > 
<b>JSP自定义模板</b><br/> 
图书列表:<s:select list="parameters.list"></s:select> 
</div> 
+0

는 '<% 페이지의 pageEncoding @ = "UTF-8을 사용하여 시도해야 "contentType ="text/html; chart = utf-8 "%>'mytemplate.jsp 또한 프로젝트 소스 (파일 자체, .jsp, .properties 등)가 utf-8로 인코딩되어 있습니까? –

+1

예,이 문제가 해결되었습니다. JVM 부팅 매개 변수 -Dfile.encoding을 설정해야합니다. MyEclipse를 사용합니다. -Dfile.encoding = utf-8의 JVM 부팅 매개 변수를 설정 했으므로 괜찮습니다. MyEclipse-> preferences -> servers-> 버전을 선택한 다음 JDK를 선택하여 부팅 매개 변수를 설정하십시오.) – arron

답변

0

는 -Dfile.encoding = UTF-8 M의 JVM 부트 파라미터 세트 yEclipse은 (MyEclipse-> 환경 설정 -> 서버 -> 버전을 선택하고 부트 매개 변수를 설정하는 JDK를 선택)은 스트럿에 지정되지 않은 경우 struts.xml에

struts.locale=zh_CN 
struts.i18n.encoding=UTF-8 

이러한 추가하려고 할 수 있습니다

+0

이 문제는 계속 발생하지만 대신 Eclipse를 사용하고 있습니다. 이클립스에서 param을 설정하는 방법을 알려주시겠습니까? –

+0

今天 才서버는 전망을 표시한다, 열려있는 발사 윤곽은 지금 막 – arron

0

을 .XML 또는 struts.properties struts2이 (과부가 기본적으로 GBK됩니다) 플랫폼의 인코딩을 선택할 것입니다

很 高兴 遇见 你

+0

고맙다 당신을 만난다! (试过 你这个 了, 근사 작작, 我 试试 所有 纠正 编码 的 – arron

관련 문제