我正在尝试在我的应用程序中显示 unicode 字符(中文)。jsp 部分工作正常,通过将字符集设置为 UTF-8 没有问题。但是在 Java 代码中,不显示 Unicode 字符。我尝试通过设置请求 utf-8
request.setCharacterEncoding("UTF-8");
最后我将得到相同的结果并插入到表中。数据库已经配置为支持 unicode。
我做错了什么。请就解决方案提出建议,或者有更好的方法来做到这一点。
谢谢
我正在尝试在我的应用程序中显示 unicode 字符(中文)。jsp 部分工作正常,通过将字符集设置为 UTF-8 没有问题。但是在 Java 代码中,不显示 Unicode 字符。我尝试通过设置请求 utf-8
request.setCharacterEncoding("UTF-8");
最后我将得到相同的结果并插入到表中。数据库已经配置为支持 unicode。
我做错了什么。请就解决方案提出建议,或者有更好的方法来做到这一点。
谢谢
尝试在您的应用程序中实现过滤器以进行字符编码:
public class CharacterEncodingFilter implements Filter {
@Override
public void init(FilterConfig filterConfig)
throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
servletRequest.setCharacterEncoding("UTF-8");
servletResponse.setContentType("text/html; charset=UTF-8");
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
}
}
如果您使用的是 tomcat,请确保您的连接器元素具有值为 UTF-8 的 URIEncoding 属性。
<Connector port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443"/>
还要确保在每个 JSP 页面中都指定了这一点:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
希望这可以帮助。