weblogicjsp乱码(weblogic 乱码)

发布时间:2023-12-08

weblogicjsp乱码(weblogic 乱码)

更新:2022-11-15 08:56

本文目录一览:

  1. 你好,weblogic中文乱码怎么修改呀,能不能详细说下,谢了
  2. 如何查看和设置weblogic的编码格式
  3. jsp在WEBLOGIC中发布时,中文怎么都是乱码

你好,weblogic中文乱码怎么修改呀,能不能详细说下,谢了

由于操作系统、浏览器、数据库、JVM采用的字符集都不一样,基于Weblogic Server开发的应用经常出现中文显示乱码问题,其实在Weblogic Server上运行的WEB应用有很多与字符集有关的设置,下面做一个总结,为了正确处理中文,最好把这些设置都设上。

  1. 在JSP文件头加入
    <%@ page contentType="text/html; charset=GBK" %>
    
    指定该JSP采用的字符集。
  2. weblogic.xml文件的<jsp-descriptor>中加入:
    <encoding>GBK</encoding>
    
    指定JSP文件中采用的字符集,在JSP文件中的<%@ page contentType="text/html; charset=GBK" %>会覆盖该设置。
  3. weblogic.xml文件的<jsp-descriptor>中加入:
    <compiler-supports-encoding>true</compiler-supports-encoding>
    
    如果为true,指定在编译JSP文件时,采用在JSP文件中定义的<%@ page contentType="text/html; charset=GBK" %><encoding>参数中定义的字符集进行编码,如果为false,则采用JVM中默认指定的字符集进行编码。
  4. Weblogic Server需要把HTTP request(GET 和POST)中的数据从它的原始编码转化为Unicode,以便Java Servlet API进行处理,为了做这种转换,Weblogic Server需要知道HTTP request中的数据的编码方式。这可以通过在weblogic.xml<charset-params>中设置。

如何查看和设置weblogic的编码格式

首先查看weblogic使用的是什么编码,查看方式如下:

在severs/AdminServer/logs目录下的AdminServer.log中搜索file.encoding,会显示启动时使用的文件编码

看到weblogic使用的GB2312,这样就清楚了,需要修改weblogic的编码格式,修改方式如下:

在startWeblogic.sh中添加
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME} \
-Dweblogic.webservice.i18n.charset=utf-8 \
-Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy

修改完成后,重启weblogic服务。 另:如何修改操作系统的编码格式,在.bash_profile中添加如下:

export LC_ALL="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"

或者修改/etc/sysconfig/i18n文件,内容如下:

LANG="zh_CN.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"

这样使用locale查看到的信息如下:

LANG="zh_CN.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"
[root@asiainfo1 ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=zh_CN.UTF-8

jsp在WEBLOGIC中发布时,中文怎么都是乱码

简单来说,乱码只是发生在你从页面获取汉字时发生的。你可以尝试下,在java代码中获取到前台jsp页面提交的form,你断点先看看form里面对应你添加汉字的结果是不是已经是乱码了。