admin 管理员组

文章数量: 1087139


2024年4月19日发(作者:ae动画制作教程视频)

(完整)Weblogic 中文乱码问题的处理

(完整)Weblogic 中文乱码问题的处理

编辑整理:

尊敬的读者朋友们:

这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们

对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)Weblogic 中文乱码

问题的处理)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,

这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以

下为(完整)Weblogic 中文乱码问题的处理的全部内容。

(完整)Weblogic 中文乱码问题的处理

Weblogic对中文乱码问题的处理

在开发BEA Portal 8.1内容管理的过程中,我们经常遇到在程序中

不能正确对中文进行处理的情况。发生乱码时,中文字符就变成了一个个问号或怪

字符(例如图3中的情况),确实比较令人着急。当然,这并不是BEA Portal的问题,

因为java中出现中文乱码问题一般都是由于对程序中的编码/解码方式(如:

UNICODE编码和其它本地的编码)使用不当所造成,而这些问题本身都是可以通过合

理途径加以解决的。

要解决这些问题,首先要搞清楚的是一些常见的字符集编码方式.ISO8859系列

是8位的西文字符集(如:ISO8859-1, ISO8859-2等),0~0x7F仍与ASCII字符集

保持兼容,大于0x7F的是各种拉丁字符或欧洲字符的扩展;GB2312是简体中文编码

方式,BIG5是繁体中文的编码方式,它们表示西文字符时用单字节,表示中文用两

个字节,而GBK可以看成是GB2312的扩展;Java中为了便于国际化,它的字符数据

都是16位无符号型数据??UNICODE集;而在以英文为主要信息的互联网时

代,UNICODE对任何字符都采用双字节表示的方式极其浪费空间,所以在此基础上出现

了UTF—8,在UTF-8中,属于US—ASCII中的字符,仍用一个字节表示,且和US—

ASCII兼容,其他的字符,则用1(大于0x7F部分)到3个字节。Windows (简体中

文版)一般采用GBK字符集,而BEA Weblogic Portal 8.1默认采用UTF—8字符集。

编码(Encode)和解码(Decode)是两个相反的动作.编码是把字符按照某种映射

标准(字符集),转换成字节,这时我们把执行编码动作时所采用的标准叫编码

(encoding)。而解码则是将字节序列按照某种字符标准(解码,decoding),转换成字

符串.如果解码的标准和编码标准不兼容,得出的字符串就是乱码。

当出现java的中文乱码问题时,需要根据具体情况来分析解决。在开发Portal

内容管理程序中我们遇到了以下几种出现中文乱码的情况:页面内的中文字符、提

交到数据库中的内容、在页面中显示的从数据库中读出的内容和页面之间通过URL

传递的中文参数.通过实践和总结,有下面一种比较通用的简单解决方案,即在任何

地方都使用GB2312字符集进行编码和解码,可以解决绝大多数中文乱码问题.

1。 在 文件中添加如下代码(使程序编译时按gb2312

编码):

%JAVA_OPTIONS% —Dfile。encoding=gb2312;

-Dfile。encoding=GBK

2. 修改weblogic。xml文件(使页面向服务器发送的内容按gb2312编码):

……

〈 jsp-param>

< param—name>encoding〈 /param—name〉

(完整)Weblogic 中文乱码问题的处理

< param-value>gb2312〈 /param-value〉

〈 /jsp-param〉

……

3。 修改文件(使页面之间通过URL方式传递的中文参数以gb2312

进行编码):

……

< context-param>

〈 param—name〉。inputCharset./*< /param—name>

< param—value〉gb2312< /param-value>

< /context—param〉

……

4。 修改 。portal文件(使portal运行时采用gb2312字符集):

< portal: contentType="text/html;charset=gb2312”/>

5。 每个jsp的文件头里面都写上如下的语句(使每个页面都采用gb2312字符

集):

< %@ page language="java” contentType=”text/html;charset=gb2312"%〉

6。 如果仍然出现乱码,可再对该乱码字符串使用如下方法进行一次编码方式

的转换:

NewString = new String( OldString。getBytes(), "gb2312” );


本文标签: 字符 乱码 内容 编码 采用