我有一个带有一些西班牙字符的字符串,当我将 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
请注意,我创建了以下程序,但没有发现问题。
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 维护提供商。
很难阅读您的输出,因为它结合了行。
我的 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 维护提供商。