我正在使用 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 ?????? ????? ????? ?? ?????? ?? ????
??
是印地语字符
如何解决?
最佳答案
您的 IDE 也需要在 UTF-8 下运行,才能在控制台中正确显示输出。
在 Eclipse 中:
( source )
在 NetBeans 中:
然后,请注意 NetBeans 使用的字体无法重现所有 UTF-8 字符,那么您需要按如下方式更改它:
( source )
关于jsp - 显示非英文字符 ??在 Action 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35695406/