这几天在用ofbiz国际化标时,发现页面上所有的中文都是xml特殊字符,类似与'中国 表示“中国”
在html页面上显示自然是没有问题,但是在JavaScript中用alert弹出,却直接将特殊字符弹出,后来尝试alert直接弹出Unicode,发现问题解决了,freemarker底层会将Unicode翻译成中文!下面记录一下用JS如何转换
<script type="text/javascript">
function escape2Unicode(str) {
return str.replace(/&#(x)?([^&]{1,5});?/g, function (a, b, c) {
return String.fromCharCode(parseInt(c, b ? 16 : 10));
});
}
alert(escape2Unicode(''中国'));
</script>
这里可以参考原文 http://www.cnblogs.com/qqq88zz/archive/2011/03/23/1992458.html