kapok

垃圾桶,嘿嘿,我藏的这么深你们还能找到啊,真牛!

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  455 随笔 :: 0 文章 :: 76 评论 :: 0 Trackbacks
http://dev2dev.bea.com.cn/bbs/school/guide/wlportal/2004122101.html


标题:Portal中文问题解决
浏览次数: 1362 时间:2004-12-21
作者:刘群策(dev2dev ID:hbwind) BEA系统(中国)有限公司 大企业客户部资深技术顾问


 本文从台湾BEA网站相关文章改编而来,加入了笔者的一些注释和工具。

1.1 如何构建以 GBK 编码为基础的 Applications 项目
  在 Workshop 中,所有源文件 (JSP、PageFlow、.portal…) 的预设编码皆为 UTF-8,如果您想要用 GBK 来作为 PageFlow 或 JSP 的编码 (例如有以前写的GBK或者GB2312 编码的 JSP 想整合进来),请按照下列步骤做调整。
如要建立以 GBK 为预设编码的 JSP 或 PageFlow,需作以下调整:
  1. 修改 JSP 第一行的 ContentType 宣告,将 UTF-8 改为 GBK/GB2312,即:
    <%@ page language="java" contentType="text/html;charset=GBK"%>
  2. 编辑 weblogic.xml中,关于 encoding 这项的设定,将 UTF-8 改为 GBK,即:
    <jsp-param>
    <param-name>encoding</param-name>
    <param-value>GBK</param-value>
    </jsp-param>
  3. 变更 Web 应用程序字符编码
    在 Workshop IDE 中,从 Tools 选单 -> Application Properties -> Encoding 选项中,将 Web App Character Encoding 底下的 "Use default (UTF-8)" 一项,移除勾选,并在 "Encoding" 字段后键入 GBK或gb2312。
  4. 将 charset-params 项目加到 weblogic.xml 中:
    <charset-params>
    <input-charset>
    <resource-path>/*</resource-path>
    <java-charset-name>GBK</java-charset-name>
    </input-charset>
    </charset-params>
  5. 将以下项目从 web.xml 中移除或批注掉,或者将param-value修改为GBK
    <context-param>
    <param-name>weblogic.httpd.inputCharset./*</param-name>
    <param-value>UTF-8</param-value>
    </context-param>
  6. 将 WLP8.1 portal 模板(即 .portal 文件) 的 ContentType 编码加以修改 (预设编码为 UTF-8) 如下:
    <portal:directive.page contentType="text/html;charset=GBK"/>

    变更方法
    (由于 .portal 档的本质为 XML,建议使用 Workshop 来编辑该档案,比较安全)
    在 Workshop IDE 中,从 Tools 选单中选择 "Application Properties"
    选择 "Portal" 的选项,然后勾选 "Open as XML Option" 选项
    接着便可以以右键点选您的 .portal 档案,并选择 "Open as XML" 指令
    按照以上的说明,编辑 .portal 文件的 XML 原始码,修改编码部分的宣告
    关闭当前文件,再打开.portal文件时,又是图形化界面

    执行到这一步时,已经能够保证运行.portal文件的编码是简体中文了。
  7. 使用 WebLogic Administration Portal,以 GBK 型建立之 Portal 为基础来建立桌面时,必须更新数据库表数据。
    更新对象表:L10N_LOCALE
    更新对象列:ENCODING (标准设置是 UTF-8)

变更方法和执行步骤如下。
  部署 Portal 应用程序。
  启动 WebLogic Administration Portal 并登入。
  在数据库的 L10N_LOCALE 表中,寻找LANGUAGE =’zh’ 的 记录,然后将ENCODING 列从 UTF-8 修改为 GBK。
  使用 WebLogic Administration Portal 来建立新的桌面。以后建立的所有桌面都是 GBK 型桌面。

补充 1. 表更新时机
  在 L10N_LOCALE 表中,必须变更下述两列的 ENCODING 列:分别是 LANGUAGE 值为 zh 且 COUNTRY 值为 CN 的行,以及 LANGUAGE 值为 zh 的行。LANGUAGE 值为 zh 且 COUNTRY 值为 CN 的行,会在部署 Portal 应用程序时自动建立,而 LANGUAGE 值为 zh 的行,则会因为 Portal 应用程序所建立的内容,而未在部署时登录。 在这种情况下,此列会在登入 WebLogic Administration Portal 时自动建立。因此,在登入 WebLogic Administration Portal 之后再变更表较为适当。

范例:更新 Oracle9i 的列
  SQL> UPDATE L10N_LOCALE SET ENCODING='GBK' WHERE LANGUAGE='zh'; 两列已更新。
  SQL> commit;

范例:更新 PointBase 的列
  由于缺省时,Portal带有的数据库是Pointbase,所以,进入Domain目录,运行startPointBaseConsole.cmd或者startPointBaseConsole.sh,然后确定Concole里面URL是jdbc:pointbase:server://10.130.2.150:9093/workshop,输入用户名称和密码都是weblogic/weblogic,在Enter SQL Commands输入框中输入
  UPDATE L10N_LOCALE SET ENCODING='GBK' WHERE LANGUAGE='zh';
  点击Toolbar上的Execute All ,执行完毕。

  执行完该步骤时,才能保证streaming portal运行支持简体中文。

1.2 在 Portal 应用程序中添加版面、外壳以及观感的简体中文登录信息的方法
  如果在 Portal 管理画面中看到以下的讯息:
  尚未设置 [zh_CN] 语言地区的标题。

  这是因为版面、外壳以及观感等 Portal 样板的简体中文信息尚未登录所致。登录信息的默认值为 "en",如果要显示其它语言地区,必须执行下列步骤。

  通过Portal 管理工具的修正方式:
  启动 portalAdmin (将浏览器的语言设定为 'en')
  选择 PortalResources-Layout
  为树状目录中显示的每个项目选择 '添加语言地区'。(设定想要添加的语言 (例如,'zh_CN'),然后说明标题。)
  回复浏览器初始的语言设定,然后重新显示。
  透过这些步骤,可以将版面、外壳以及观感的登录信息储存在数据库中 (表名称:L10N_RESOURCE)。

  通过Workshop 的修正方式:
  在 Workshop 中建立的 Portal Web project 的 framework\markup\ 数据夹中,有 fourcolumn.layout、text.laf 等样板档案。如果事先将这些档案中的语言地区值设定为 "zh",则上述讯息就不会显示出来。所有样版的原始档都来自 %WL_HOME%\workshop\templates\portal-project.zip 中的 portal.war。

下载portal-project.zip

  通过命令方式:
  解开压缩包,拷贝com目录和changelocale.cmd到domain目录下
  打开changelocale.cmd,查看URL,username和password,确保与当前Domain相符。
  运行setdomainenv.cmd
  运行changelocale.cmd
  由于直接操作数据库,所以该命令适合Weblogic Portal8.13(不能保证其他版本数据库表结构不会发生变化),主要是为各个资源建立zh_CN相关的数据库表记录,注意的是,这样修改不会马上在管理工具中生效,需要等待一段时间。

posted on 2005-05-08 13:55 笨笨 阅读(907) 评论(0)  编辑  收藏 所属分类: J2EEALLWeblogic Portal

只有注册用户登录后才能发表评论。


网站导航: