ExtJS中文乱码排错

描述:

一次准备搭建ExtJS的 MVC框架中出现的问题,在没有使用ExtJS的框架之前,使用Ext.create()的方式创建主键加载相应的js文件,没有出现中文乱码,但是一旦开始使用ExtJS 的MVC框架,就会出现中文乱码问题。而且这问题很奇怪,只有部署到Tomcat中,以http://的方式访问才会出现中文乱码。以本地打开的方式不会出现中文乱码。

 

解决过程:

①、检查了html文件(<meta name="content-type" content="text/html; charset=UTF-8">),以及有关的js文件都是以UTF-8的方式保存的文件(文件),文件保存的编码是ok的

②、怀疑是ExtJS的版本问题,于是换了ExtJS的版本,但问题还在。

③、在js文件引入时配置了编码为UTF-8  (<script type="text/javascript" src="app.js" charset="UTF-8"></script>)问题没解决

④、快速浏览了ext-all-debug.js文件,查看相关的配置,其实extjs 有对引入的JS文件编码的设置的。我也进行了设置。但问题仍旧没有解决。

⑤、最后在firebug的生成的HTML文件中,仔细看了一下 加入MVC框架后Extjs给我们生成引入的js文件(<script type="text/javascript" src="app/view/user/List.js?_dc=1560266761120"></script>)。于是我把这个js的地址通过浏览器访问到这个js页面,意外发现这个通过直接获取js的页面也出现中文乱码问题,也就是说这个乱码问题其实和ExtJS 的MVC 没有多大的关系。就当我快放弃的时候,我在html文件中设置了一下<meta charset="UTF-8" > 问题解决了。

 

总结:

①、解决问题的思路在于把问题范围缩小,把前端和后端区分开来,把前端框架和原生态的HTML、CSS、JS给区分开来。

②、HTML5中 <meta name="content-type" content="text/html; charset=UTF-8"> 页面字符编码声明 不完全等同 <meta charset="UTF-8" >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值