发布网友 发布时间:2022-04-25 23:07
共3个回答
热心网友 时间:2022-04-15 19:58
Template 实体有个setEncoding()方法,Configuration 实体有个 setDefaultEncoding() 方法,文件流也能设置编码。
例如:
File file = new File("e:/freemarkers/");
Configuration cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(file);
cfg.setDefaultEncoding("UTF-8");
Template template = cfg.getTemplate("test.ftl");
template.setEncoding("UTF-8");
FileOutputStream fos= new FileOutputStream("e:/htmls/test.html");
OutputStreamWriter osw =new OutputStreamWriter(fos, "UTF-8");
BufferedWriter bw =new BufferedWriter(osw, 1024);
Map<String,Object> tagMap = new HashMap<String, Object>();
template.process(tagMap, bw);
bw.flush();
bw.close();追问这些我都设置过的,还是没用
追答你自己有写filter类来控制请求和响应的代码没?
热心网友 时间:2022-04-15 21:16
你在写中文的时候,你那个模板文件的编码改为UTF-8,就是以UTF-8的编码写入中文,那么转换后的html就不是乱码了
热心网友 时间:2022-04-15 22:51
页面编码问题,如:gb2312、utf-8来回换一下试试