之前一直有碰到weblogic各种乱码问题,要不就是页面乱码,要不就是控制台乱码,一直都没有时间真正的去解决,前两天又碰到一个项目页面出现乱码,很烦躁,花了几分钟解决了页面乱码问题,但是后台又出现了乱码,突然感觉不能这么继续下去了,下定决心解决这问题,在此列出步骤,
1.解决页面乱码:
找到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%,这个关键字,
找到最后一个,我的就是在369行,然后在后面追加 -Dfile.encoding=utf-8 注意要有空格,utf-8 是发布项目中使用的编码,根据自己的实际情况修改,列如:gbk就改成 -Dfile.encoding=gbk,然后保存运行startWebLogic.cmd 启动weblogic,你会发现页面乱码解决了。
上述方法页面乱码是解决了,但是后台又出现了乱码,因为cmd的默认编码为GBK,而weblogic的编码设置为utf-8,所以乱码,知道了原理,我们来解决窗口乱码问题,
2.解决控制台乱码(以 UTF-8编码为例,其他编码自己搜索编码代码):
打开cmd窗口 ,右键查看属性,可以在选项页最下面看到当前代码页,内容为 936 (asni/oem)简体中文 GBK,这是cmd默认的编码, 运行 chcp 65001 将当前页改为utf-8编码,你会发现窗口发生了变化,然后右键属性在字体页字体选项中选择 lucida console 然后确认,至此,cmd的窗口编码就变成了utf-8了,此时重启weblogic,会发现控制台和页面乱码都解决了,但是随之又会出现其他的cmd窗口乱码的问题,因为改变了cmd的默认编码,导致其他cmd窗口乱码,因此不能直接修改默认的cmd窗口编码,那么我们只能修改weblogic的cmd窗口编码了,我们用编辑工具notepad++编辑startWebLogic.cmd 在最开头 加上 chcp 65001 将cmd的当前窗口改成utf-8编码,保存,启动weblogic,好了,现在页面的乱码和控制台的乱码都解决了。
希望此篇文章能够解决你的问题。