0

spring3.0とsitemesh2.0を使用しています。この問題により、jspページに漢字を表示できません。

私は次のことをしました

web.xml

<filter>     
        <filter-name>charsetFilter</filter-name>     
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>     
        <init-param>         
            <param-name>encoding</param-name>         
            <param-value>UTF-8</param-value>     
        </init-param> 
        <init-param>             
            <param-name>forceEncoding</param-name>             
            <param-value>true</param-value>         
        </init-param> 
    </filter>  
    <filter-mapping>     
        <filter-name>charsetFilter</filter-name>     
        <url-pattern>*.do</url-pattern> 
    </filter-mapping> 
    <filter>

私のjspで:

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

sitemeshテンプレートの場合:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

sitemesh.xml:

<sitemesh>
    <property name="decorators-file" value="/WEB-INF/decorators.xml" />
    <excludes file="${decorators-file}" />

    <page-parsers>
        <parser content-type="text/html"
            class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />
        <parser content-type="text/html;charset=UTF-8"
            class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />
    </page-parsers>

    <decorator-mappers>
        <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
            <param name="config" value="${decorators-file}" />
        </mapper>
    </decorator-mappers>
</sitemesh>

しかし、それでも漢字は次のように表示されます:å®å¾½çä½³å®ç©å・(éå¢)æéå¬å¸

前もって感謝します。

4

2 に答える 2

2

フィルタとjspはどちらも問題なく表示されます。たぶんデータベース設定もチェックしてください。また、データベースに接続するときは、次のことを指定する必要があることに注意してくださいcharacterEncoding

jdbc:mysql://localhost:3306/yourdb?characterEncoding=UTF-8
于 2012-10-12T01:25:25.360 に答える
1

返信はちょっと遅いですが、私が何時間も無駄にしたことから誰かが恩恵を受けることを願っています. Spring のフィルターも機能しませんでした。私は自分で書き、servletResponse の contentType を手動で設定しました。今のところ問題はありません。

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
        throws ServletException, IOException {
    resp.setContentType("text/html; charset=UTF-8");
    chain.doFilter(req, resp);
}

<filter>
    <filter-name>EncodingFilter</filter-name>
    <filter-class>com.muratdozen.mvc.filters.EncodingFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>EncodingFilter</filter-name>
    <url-pattern>/ui/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
    <filter-name>EncodingFilter</filter-name>
    <url-pattern>/WEB-INF/views/*</url-pattern>
    <dispatcher>ERROR</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>
于 2013-11-17T18:51:35.730 に答える