在freeer模板页面中输入中文,目的是保存到数据库,结果在action当中接受到的中文变成了乱码,请问各位是什么原因。

解决方案 »

  1.   

    那说明你的request,repsonse的编码不一致,尝试下直接使用jsp提交时action能正常显示汉字否?
      

  2.   

    用jsp是正常的。但现在要求用freeer。能不能在action接受数据时进行类型转换呢,我试过,但是转换过后还是乱码,请问用什么方法可以解决。
      

  3.   

    freeerCfg.setEncoding(Locale.getDefault(), "gbk");//看看这里
    Template template;

    template = freeerCfg.getTemplate(ftl);
    template.setEncoding("gbk");//看看这里
    String path= ServletActionContext.getServletContext().getRealPath("/");
    System.out.println(path);
    BufferedWriter buff= new BufferedWriter(new FileWriter(path+htmlName));

    File htmlFile = new File(path+htmlName);
     
    Writer out = new BufferedWriter(new OutputStreamWriter(
    new FileOutputStream(htmlFile), "gbk"));//应该是输出的时候乱码,看看这里
      

  4.   


    参考下
    http://blog.csdn.net/it_man/archive/2009/01/17/3808697.aspx
      

  5.   

    <#setting escaping_charset='utf-8'>