项目开发完,部署上去了,今天突然发现有问题
问题是这样的,我查看页面源文件,
所有用struts标签展现的数据,数字英文都正常,中文全部转成了ASCII编码
像这样<title>上虞房产网--&#22830;&#20225;&#36864;&#20986;&#21069;&#29454;&#22836;&#25366;&#20154;&#24537; &#21483;&#20215;&#30334;页面显示的时候是正常的,
我记得开发的时候都是正常的,于是回本地调,也同样是这个问题,
想了好久,网上查了好久,还是没有思路,问题简述: 查看页面源文件里面的中文都转成了ASCII编码(页面显示是正常)
数据是用struts2标签展现了,在后台输出也正常
今天来CSDN求助
在线等,雪地里跪求

解决方案 »

  1.   

    这只是 HTML 编码,有什么关系?
      

  2.   

    不会 Struts 2,刚才去看了一下 s:property 的 Tag 类和 Struts 2 Tag Reference:<s:property> 默认就是采用 HTML 编码输出的,除非把其中的 escape 属性改为 false
    http://struts.apache.org/2.1.8.1/docs/property.html这只是 HTML 编码,与显示没有任何关系,根本没必要去更改。
      

  3.   

    &#22830;&#20225;&#36864;&#20986;&#21069;&#29454;&#22836;&#25366;&#20154;&#24537; &#21483;&#20215;&#30334;我很想知道这些东西表示什么......
    既然是部署的问题,那有可能是服务器设置不对.
      

  4.   


    “央企退出前猎头挖人忙叫价百”Apache Commons Lang 包中 StringEscapeUtils.unescapeHtml 方法进行解码。而 Struts 2 中默认采用 StringEscapeUtils.escapeHtml 进行 HTML 编码。
    至于为什么 Struts 2 进行编码,那是很有必要的!如果需要输出的字符串是“<script>alert('abc');</script>”,如果不编码会有什么现象发生?默认编码后为“&lt;script&gt;alert('abc');&lt;/script&gt;”
      

  5.   

    我也遇到过这样的问题,例如编辑JSP调用时,我用<%request.setCharacterEncoding("gb2312"); %>
    就解决问题了
      

  6.   

    HTML 编码有两种格式:一:&#22830; 即 &#0000; 0000 表示几个十进制数字,这些数字是 Unicode 的代码点。
    二:&#x592E; 即 &#xFFFF; FFFF 表示几个十六进制数字,这些是十六进制的 Unicode 代码点。Java 中马上可以看出这是什么字:System.out.println((char)22830);
    System.out.println((char)0x592e);
      

  7.   

    把编码方式改为“GBK”试试看
      

  8.   

    跟我遇到 的问题一样 ,struts2.1.8开始就这样了,目前我也没找到 方法呢。期待。。
      

  9.   

    我用的也是struts2.1.8项目统一用UTF-8有谁解决这个问题了吗
      

  10.   

    应该可以显示汉字的吧,只是用unicode码编了,难道从struts2.1.8开始又有新的bug了?
      

  11.   

    显示是可以显示的,我查看页面源文件,里面用struts2标签展现的中文都是
    <title>上虞房产网--&#22830;&#20225;&#36864;&#20986;&#21069;&#29454;&#22836;&#25366;&#20154;&#24537; &#21483;&#20215;&#30334;
      

  12.   

    其实也没遇到什么问题,程序逻辑功能都使用正常,就是看源代码全显示unicode...
    等待解决
      

  13.   

    小新,我现在想把struts2.1.8 换成 2.1.6试试
      

  14.   

    我试了下 struts 2.1.6正常啊
      

  15.   

    恩,你来我的群里吧,国内最牛逼的java群79838845
      

  16.   

       整个项目使用utf-8     在不行的话  做国际化   把中文编译了  再取出来.
      

  17.   

    不是能正常显示吗?
    LZ到底想知道什么啊?
    我在页面显示编码格式也是UTF-8的,之后再查看源代码的时候就是汉字了。
      

  18.   

    native2ascii对资源文件处理一下试试呢?
    我这里显示html源码是正常的汉字,页面和资源文件都是utf-8编码
      

  19.   

    只能设置 escape="false" 了,没有统一取消的方法。我也没找到好的解决办法。
    1:退回2.1.6
    2:所有property 加上escape="false"属性。
    悲剧的2.1.8,我发现struts升级没怎么注意向下兼容的。 
      

  20.   

    昨天回去研究了下。修改propertyTag源文件,将escape属性初始为flase即可