项目开发完,部署上去了,今天突然发现有问题
问题是这样的,我查看页面源文件,
所有用struts标签展现的数据,数字英文都正常,中文全部转成了ASCII编码
像这样<title>上虞房产网--央企退出前猎头挖人忙 叫价百页面显示的时候是正常的,
我记得开发的时候都是正常的,于是回本地调,也同样是这个问题,
想了好久,网上查了好久,还是没有思路,问题简述: 查看页面源文件里面的中文都转成了ASCII编码(页面显示是正常)
数据是用struts2标签展现了,在后台输出也正常
今天来CSDN求助
在线等,雪地里跪求
问题是这样的,我查看页面源文件,
所有用struts标签展现的数据,数字英文都正常,中文全部转成了ASCII编码
像这样<title>上虞房产网--央企退出前猎头挖人忙 叫价百页面显示的时候是正常的,
我记得开发的时候都是正常的,于是回本地调,也同样是这个问题,
想了好久,网上查了好久,还是没有思路,问题简述: 查看页面源文件里面的中文都转成了ASCII编码(页面显示是正常)
数据是用struts2标签展现了,在后台输出也正常
今天来CSDN求助
在线等,雪地里跪求
http://struts.apache.org/2.1.8.1/docs/property.html这只是 HTML 编码,与显示没有任何关系,根本没必要去更改。
既然是部署的问题,那有可能是服务器设置不对.
“央企退出前猎头挖人忙叫价百”Apache Commons Lang 包中 StringEscapeUtils.unescapeHtml 方法进行解码。而 Struts 2 中默认采用 StringEscapeUtils.escapeHtml 进行 HTML 编码。
至于为什么 Struts 2 进行编码,那是很有必要的!如果需要输出的字符串是“<script>alert('abc');</script>”,如果不编码会有什么现象发生?默认编码后为“<script>alert('abc');</script>”
就解决问题了
二:央 即  FFFF 表示几个十六进制数字,这些是十六进制的 Unicode 代码点。Java 中马上可以看出这是什么字:System.out.println((char)22830);
System.out.println((char)0x592e);
<title>上虞房产网--央企退出前猎头挖人忙 叫价百
等待解决
LZ到底想知道什么啊?
我在页面显示编码格式也是UTF-8的,之后再查看源代码的时候就是汉字了。
我这里显示html源码是正常的汉字,页面和资源文件都是utf-8编码
1:退回2.1.6
2:所有property 加上escape="false"属性。
悲剧的2.1.8,我发现struts升级没怎么注意向下兼容的。