最近在后台使用ExtJS时,一接入项目就遇到了中文乱码问题,经过一番排查终于找到解决方案。本文将详细整理GBK编码环境下ExtJS中文乱码的解决方法,希望能帮助到遇到同样问题的开发者。
1、问题现象
引入以下资源文件:
复制代码 代码如下:
02.
03.
04.
05.
接着编写了一个简单的测试示例:
复制代码 代码如下:
运行后,弹出的对话框中中文全部显示为乱码:

2、页面编码为GBK,具体配置如下

3、解决方案
(1)将页面编码改为UTF-8后乱码确实解决了,但项目要求使用GBK编码,不能统一修改为UTF-8,此方案不可行。
(2)另一种解决思路:将引入的资源文件(/js/ext/ext-lang-zh_CN.js)转换为与页面一致的编码格式。具体操作步骤如下:
A. 使用EditPlus打开该JS文件,点击“文件”菜单下的“另存为”,此时会弹出保存对话框:

B. 默认出现的编码选项只有5种,均不符合要求。留意对话框右下角有一个不太显眼的“更多”按钮(标有两个点),点击该按钮,即可看到如下编码列表:

找到并选择“中文 (GB2312)”或其他兼容GBK的编码,点击确认保存。接着用这个新文件替换项目中的原始文件,刷新页面查看效果:

可以看到,乱码问题已成功解决,中文内容显示完全正常。
