问题描述
昨天在参考别人的项目时,发现页面引用js
,css
等文件总是乱码,后来才发现是MIME
类型统一设置为text/html
,并且仅仅编码设置了浏览器端的解析编码。另外,可以先通过文本编辑器(如notepad++等)先统一下编码。
简单总结到的区别
response.setContentType
:设置资源MIME类型,还可设置资源在浏览器端的解码方式。
response.setCharacterEncoding
:设置Servlet响应结果的编码。
JSP中设置编码参数简单分析:https://blog.csdn.net/weixin_43670802/article/details/104502395
简单示例
@Override
public void execute(FlowContext context) throws ServletException, IOException, InventoryException, ExternalServiceException {
HttpServletResponse res = context.getHttpServletResponse();
res.setCharacterEncoding("UTF-8");
res.setContentType("text/xml; charset=UTF-8");
XStream stream = new XStream(new DomDriver("UTF-8"));
stream.toXML(xmlObject, res.getWriter());
}
参考
https://www.jb51.net/article/73907.htm
https://blog.csdn.net/jeanwest01/article/details/80476024
https://ask.csdn.net/questions/229399?ref=myrecommend