问题描述:
Vue项目是嵌入企业微信(协调办公)软件的H5项目,浏览器直接访问项目正常,在嵌入后,静态文件显示乱码。
解决办法:
- 检查weblogic服务器的编码格式,查看servers\AdminServer\logs\AdminServer.log,搜索encoding,查看编码
解决页面乱码:
找到weblogic的安装目录,然后进入项目使用的域的目录的bin目录,列如我的目录就是F:\IDESoftWare\Weblogic12c\Middleware\Oracle_Home\user_projects\domains\base_domain\bin,
在这个下面找到setDomainEnv.cmd这个批处理文件,Linux就是setDomainEnv.sh,
然后编辑这个文件,最好用notepad++或者editplus,这种编辑工具能更清晰些,在文件查找 set JAVA_OPTIONS=%JAVA_OPTIONS%,这个关键字,
后面追加 -Dfile.encoding=utf-8 注意要有空格,utf-8 是发布项目中使用的编码,根据自己的实际情况修改。
未解决问题;
- 通过F12查看静态文件响应的content-type设置,在浏览器访问时,weblogic部署后,没有设置,未默认,但是在企业微信查看时,显示content-type=text\html;charset=ISO-8859-1;
解决办法:
在weblogic部署纯前端项目时,需要在项目目录下增加WEB-INF目录,目录里面增加web.xml文件,可以通过web.xml文件设置响应静态文件的content-type信息,增加如下配置:
<mime-mapping>
<extension>html</extension>
<mime-type>text/html;charset=utf-8</mime-type>
</mime-mapping>
<mime-mapping>
<extension>js</extension>
<mime-type>text/js;charset=utf-8</mime-type>
</mime-mapping>
<mime-mapping>
<extension>css</extension>
<mime-type>text/css;charset=utf-8</mime-type>
</mime-mapping>
在weblogic控制台更新项目
在企业微信内访问应用,界面正常,乱码解决