2016-02-29 75 views
1

我使用jquery ajax提交下面的表單,我在Action類方法中打印值。我使用Tomcat 7非英文字符顯示?在行動類

<form action="PostNow" id="post_now"> 
    <s:textarea name="message" style="width:100%;height:80px" 
        id="text_message" cssClass="form-control" placeholder="Post now"> 
    </s:textarea> 
</form> 

在行動

public String insert() { 
    HttpServletRequest request = ServletActionContext.getRequest(); 
    System.out.println("char en "+request.getCharacterEncoding()); 
    System.out.println("sendor " + message()); 
} 

的web.xml

<Connector port="8080" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="8443" URIEncoding="UTF-8"/> 

在JSP頁面中

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

在web.xml中

<filter> 
    <filter-name>CharacterEncodingFilter</filter-name> 
    <filter-class> 
     org.apache.catalina.filters.SetCharacterEncodingFilter 
    </filter-class> 
    <init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
     <param-name>ignore</param-name> 
     <param-value>true</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>CharacterEncodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

我得到的輸出

char en UTF-8 
?????? ????? ????? ?? ?????? ?? ???? 

??是印地文字符

如何解決這個問題?

回答

1

您還需要在您的IDE上運行UTF-8以使輸出正確顯示在控制檯中。


在Eclipse:

enter image description here

source


在NetBeans中:

enter image description here

然後,要知道,NetBeans使用一個字體無法重現所有的UTF-8字符,那麼你就需要去改變它,如下所示:

enter image description here

enter image description here

source

+0

如果您將數據發送到另一頁(或相同),它是否正確填充?如果是的話,問題只出現在您在IDE控制檯中查看該文件,如果不是,那麼數據在某處用不同的字符集轉換,問題是真實的 –

+0

答案已更新,NetBeans控制檯使用啞字體。如果它的工作,考慮upvoting相關的答案 –

+0

我試過上面的步驟,但索普顯示???。我嘗試在會話中保存消息並使用jsp正確顯示印地文字符。 – xrcwrn