def saw = 'АБВГДЕЙКА ЭТО НЕПРОСТАЯ ПЕРЕДАЧА ABCDEFGHIJKLMNOP!!!'def bytes = saw.getBytes('UTF-8')def content = new String(bytes, 'UTF-8')在锯片和内容之间不会发生变化。您想要做的是(使用 outputstream 而 不是writer
,这就是为什么将字符集重置为ISO-8859-1的原因,请参见tomcat
doc):
out.write(saw.getBytes("UTF-8);您的代码看起来可以将字符集设置为UTF-8。
我不明白您在使用HttpResponseWrapper做什么。
为了清楚起见,这将起作用:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws java.io.IOException, javax.servlet.ServletException{ OutputStream out = response.getOutputStream() response.setCharacterEncoding('UTF-8') response.setContentType('text/plain') def saw = 'АБВГДЕЙКА ЭТО НЕПРОСТАЯ ПЕРЕДАЧА ABCDEFGHIJKLMNOP!!!' response.setContentLength(saw.length()) out.write(content.getBytes("UTF-8"));}


