最近,频繁听到很多关于Weblogic乱码的问题,
其实,都是一些个人认为比较容易避免的问题。
1,如果是开发阶段的乱码,比如从屏幕上看到了一堆乱七八糟的编码
尝试在weblogic.xml文件的<jsp-descriptor>部分加入下面的描述:
<jsp-descriptor>
<jsp-param>
<param-name>compilerSupportsEncoding</param-name>
<param-value>true</param-value>
</jsp-param>
<jsp-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</jsp-param>
</jsp-descriptor>
这样,起码会告诉Weblogic容器你的应用含有中文,比如JSP页面,而它会善待你的JSP中的中文。
2,如果你是在Windows上面开发,然后部署到其他平台,比如IBM AIX上,则你要注意encoding的问题,
即文件的Encoding。比如,通常来说,各位都是Eclipse之徒,默认Eclipse上面的文件格式是基于本地的字符集,
即GBK,你是用GBK存储这些文件,甚至打包后想放到AIX上运行是不行的,解决方法太简单了,
JAVA_OPTIONS=-Dfile.encoding=GBK
告诉AIX上的Weblogic上的IBM JVM,默认文件encoding不是utf-8,是GBK, 即可。
上面两种方法,前者是针对中文编码的识别问题,后者是针对文件编码的识别问题,两者是不一样的。
在Java中,任何的内容都是以Unicode存在的,看Java程序中的内存,全部String都是Unicode,另外一个问题是,
假定这些String存储成文件,则要考虑Unicode如何写入到文件中,通常用的都是utf-8编码来存储。