easyui的组件使用出现乱码问题
1.1 datagrid组件的分页出现乱码问题
在引入easyui的文件后,使用easyui的组件datagrid的时候,使用分页栏的时候,前台页面上分页栏上都是显示的乱码,如下图所示:
可以看到,我们使用easyui的组件时,出现了乱码的问题,其实根本原因在于,我们使用easyui的汉化包没有起到作用,因为在easyui的汉化的js文件中,其实是有对分页栏的乱码处理的,在我们使用datagrid插件时,设置pagination=true时,就会引入分页栏。
这就是easyui汉化包中对datagrid分页属性pagination的乱码处理
1.2 datagrid组件的分页栏乱码问题的解决
如果只需要解决分页这里的乱码信息,我们可以自己在写一段js代码来处理这个问题,你只需要在你使用的datagrid插件的页面上引入下面js代码就可以解决你的分页栏乱码的问题:
$(function () {
$('#dg').datagrid({
pagination: true,//显示分页工具栏
});
var p = $('#dg').datagrid('getPager');
$(p).pagination({
pageSize: 10,//每页显示的记录条数,默认为10
pageList: [5, 10, 15],//可以设置每页记录条数的列表
beforePageText: '第',//页数文本框前显示的汉字
afterPageText: '页 共 {pages} 页',
displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
});
});
引入上面代码以后就解决了分页栏的乱码问题,分页栏可以正常显示,
2 使用其他组件还是有乱码的问题
2.1 easyui使用出现乱码问题的根本原因
但上面说到了之所以出现乱码是因为,我们在引入easyui以后,它里面的汉化包并没产生作用,所以如果后面我们使用其他组件还是会出现乱码,例如下面使用messager组件还是有乱码,所以上面并没就解决到根本问题
如下图:只是解决了分页栏的乱码,如果后期我们使用easyui的其他组件还是会出现中文乱码的问题
而汉化包没有发生作用的原因有:
1.汉化包引入路径有问题,文件找不到404,这个很简单,只需检查一下路径即可
2.汉化包文件可以找到,但是里面的内容没有起作用,这个就是因为字符编码的问题
2.2 如何从根本上解决easyui的中文乱码问题
上面已经分析了问题就在于汉化包的问题,而且应该就是汉化包的编码问题,需要将汉化包的编码改为utf-8,注意,可能我们打开的时候显示的就是utf-8编码格式,我的就是这样,后来用editplus打开,重新保存为utf-8编码格式就好了
上面显示为utf-8编码,但是我们使用其他方式打开重新编码在引入以后,easyui的乱码就解决了,所以这里的编码应该是有问题的,需要我们重新设置一下
通过上面的编码设置以后,我的easyui上面所有的乱码问题都解决了,之前添加的datagrid分页栏的js代码也可以不使用,不会再出现乱码