1

我有一个带有一些西班牙字符的字符串,当我将 U2 的OCONV()函数与代码一起使用时'MCT',它会将西班牙字符更改为其他内容。有人知道吗?

STRING: T r L=16 `CITáN, MOR 32000'

TEST.MCT:   5: STR2 = OCONV(STR,'MCT')
:: S
TEST.MCT:   6: CRT STR2
:: S
Cit?9: Mor 32000
4

2 回答 2

1

请注意,我创建了以下程序,但没有发现问题。

CT BP SO

 SO
 0001 STR = "CIT":CHAR(225):"N, MOR 3200"
 0002 STR2 = OCONV(STR, "MCT")
 0003 PRINT STR
 0004 PRINT STR2
 0005 PRINT SEQ(STR2[4,1])

当我编译并运行它时,我得到以下信息:

 CITáN, MOR 3200
 Citán, Mor 3200
 225
 >

请注意,我在 Windows 上测试了 UniVerse11.2.2。你能试试我从 HS.SALES 帐户提供的示例代码,并告诉我它的作用吗?

如果仍然有问题,请让我们知道完整的 UniVerse 版本,以及您运行它的操作系统。

添加信息:注意在 AIX 6.1 上的 UniVerse 11.1.1 上测试,它对我有用。如果您仍有问题,建议您联系 UniVerse 维护提供商。

于 2014-03-27T16:44:29.887 回答
0

很难阅读您的输出,因为它结合了行。

我的 RAID 运行显示了正确的信息。

RAID BP SO
 SO:   1:  STR = "CIT":CHAR(225):"N, MOR 3200"
:: S
 SO:   2: STR2 = OCONV(STR, "MCT")
:: S
 SO:   3: PRINT STR
:: S
CITáN, MOR 3200
SO:   4: PRINT STR2
:: S
Citán, Mor 3200
 SO:   5: PRINT SEQ(STR2[4,1])
:: S
225

然而,我的 UNIX 环境变量中有 LANG=en_US。

因此,根据 LANG 设置,您的环境可能存在问题,建议您联系 U2 维护提供商。

于 2014-03-27T18:21:14.283 回答