接手了一个旧项目,项目中用到了velocity,然后某些地方发生了乱码问题,又不懂前端……
这是点按页面中的删除按钮跳出来的确认弹窗(左边应该是取消按钮,右边是确认按钮),可以看到,按钮上的文字乱码了。
相关模板代码为:
<script type="text/javascript">
function doSth(id) {
doConfirm("确定要操作嘛?", function () {
var text = $(btn).html();
......
}
}
</script>
即那个确认弹窗应该是velocity自带的功能?但是看来并不好用。
另一处问题是,当在页面某个设定了v="required"
的input输入框中,提交空输入,则跳出的提示信息也为乱码信息(比如密码栏,输入为空,提示为"密码?????????")。
我认为这两处问题原因是一致的,都是这种框架自动生成的提示信息出现了乱码。除此之外,其他中文显示均正常,包括后端传入的数据,以及模板文件中的那些中文字……
查了一些解决方案,大部分配置velocity的编码:
input.encoding=UTF-8
output.encoding=UTF-8
encoding.default=UTF-8
default.contentType=text/html
然而并没什么软用……
求助热心大佬!