我试图在Node应用程序中从z/OS上的DB2表中获取数据,其中一些值以阿拉伯语(IBM-420)存储。
������� ���� 第1009章【疯狂的战斗】
我使用ibm_db 2.7.4版从DB2中获取数据,并且:
Windows 10 - 64位
节点版本:14.17.3
NPM版本:7.19.1
我尝试在控制台上显示结果,并通过以下方式使用fs将其写入txt文件:
fs.writeFile('data.txt', content, err => {
if (err) {
console.error(err)
return
}
})
有什么建议把文本转换成适当的阿拉伯语吗?
1条答案
按热度按时间j9per5c41#
解决方法是创建系统环境变量DB2 CODEPAGE并将其值设置为1208,然后重新启动所有组件以获取这个新变量。
在代码页之间转换/翻译时,Db2 CLI组件需要知道应用程序代码页沿着DB2服务器数据库代码页,并根据需要在它们之间进行转换/翻译。这要求相关的转换表已经存在于Db2客户机中(在本例中为CLIDRIVER)。
MicrosoftWindows上的DB2 CODEPAGE环境变量值1208强制Db2的CLI组件使用Unicode作为应用程序代码页。如果DB2 CODEPAGE变量不存在,则Db2 CLI组件将尝试从MicrosoftWindows控制面板区域选项中派生代码页-这可能不是您所需要的。此变量的其他值也是可能的。有关详细信息,请参阅文档。
当设置DB2 CODEPAGE =1208时,必须确保在Db2表中插入/更新数据时,所有Microsoft-Windows应用程序都确实使用unicode或UTF-8。