首页 > 学技术 > 技术网文 > Lotus > 正文

[精彩] 请教在As400上用Domino开发的朋友一个怪问题


来源 chinaunix.net 酷勤网整理

向高手请教,是在AS400上使用Domino(R6.5.2) 的问题。
用lotusscript 写代理进行域的赋值,当域的值是中文时, 
会出现看上去相同的文字用公式比较却不相同(web方式,c/s的还没试) 
如: 
表单中建有两个域:test1 和test2 文本 可编辑 
一个计算文本 :@if(@IsMember(test1;test2);"yes";"no") 
一个保存按钮 @command([filesave]) 
webquaryopen 调用代理 test 
test 代理内容如下 
dim se as new notessession 
dim doc as NotesDocument 
set doc=se.DocumentContext 
doc.test2=doc.test1 

浏览器打开表单,在test1中输入中文,然后,按保存,计算文本显示 "no" 

如果把代理改一下,如下: 
dim se as new notessession 
dim doc as NotesDocument 
set doc=se.DocumentContext 
dim vResult as Variant 
vResult=evaluate({@setField("test2";test1)},doc) 

这计算文本可以得到"yes" 

同样的数据库拷贝到 win2000下安装的Domin 下则没有问题。 

如果哪位高手遇到过这样的问题,并解决了的,请告知,感激不尽 
(因为系统从win2000移到as400,如果,都是要那样改,可得改死,另外domino的中文包已经装了)



 roob 回复于:2005-01-07 16:49:39

wrkusrprf  查看qnotes用户的属性,确认qnotes用户的locate为中文,你试一下,我碰到类是问题,不知道一样不!


 DominoBeggar 回复于:2005-01-07 18:18:36

不管行不行先谢谢了


 DominoBeggar 回复于:2005-01-07 18:33:59

我按照安装光盘里附带的安装帮助文档,用了下面的命令:
chgusrprf qnotes locale('/qsys.lib/zh_cn.locale') setjobatr (*ccsid *datfmt *datsep *decfmt *srtseq *timsep)

现在用 wrkusrprf qnotes 查看,locale已经是'/qsys.lib/zh_cn.locale'
了。

不过问题没解决。我想问zh_cn.locale是一个文件吗?我在qsys.lib目录下没看到该文件


 roob 回复于:2005-01-10 13:13:54

对的,你的qnotes应该是改对了, 你装得微码是2984么?


 DominoBeggar 回复于:2005-01-11 00:18:30

微码是什么? 
是指os/400中文语言包吗?
我这里没装os/400的中文第二语言包。随机带的光盘里好像没有


 小葱一根 回复于:2005-01-11 08:54:09

建议你以后取域值时用doc.item(0)或doc.getfirstitem(item).text
这样才能保证你取到的是文本值
象你的这种写法doc.test2=doc.test1 ,在有些时候就不行了。

但偶不知道怎么才能不修改代码就能用,I'm so sorry~~ :oops:  :oops:


 DominoBeggar 回复于:2005-01-12 19:31:14

引用:原帖由 "小葱一根" 发表:
建议你以后取域值时用doc.item(0)或doc.getfirstitem(item).text
这样才能保证你取到的是文本值
象你的这种写法doc.test2=doc.test1 ,在有些时候就不行了。

但偶不知道怎么才能不修改代码就能用,I'm so sorry..........


你所说的我已经试过,没用。

我的os/40 primary language 是2984 微码是什么不懂。


 roob 回复于:2005-01-14 09:13:39

微码是安装os/400操作系统前,要装的东西,那你的这个应该是对的!
检查你的系统参数QCCSID是1388么? 监查你的nsf数据库属性Coded character set ID . . . . . . . . :   1388么?

如果都对的话,这应该是R6.5.2在非NT环境上的BUG,你找一个linux的环境试试, 应该是他们汉化过程中的原因,造成公式和script去的中文之不一样!


 DominoBeggar 回复于:2005-01-14 10:23:46

系统参数QCCSID是65535(我用wrksysval找的,不知道对不对,以前有人来调过系统,不知道是不是那时候改的,按理应该不会是这个值吧)。

nsf数据库属性coded character set id怎么查看?我不清楚
还有修改系统QCCSID要重新启动os/400吗?




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=479174
转载请注明作者名及原文出处



收藏本页到: