Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从iSeries数据读取器读取中文双字节字符_C#_.net_Ibm Midrange_Double Byte - Fatal编程技术网

C# 从iSeries数据读取器读取中文双字节字符

C# 从iSeries数据读取器读取中文双字节字符,c#,.net,ibm-midrange,double-byte,C#,.net,Ibm Midrange,Double Byte,我正在使用IBMiSeries.NETDataReader从AS400获取数据 1) 我需要在AS400端执行什么操作才能发送双字节字符 2) IBM iSeries会保留双字节字符吗?我得到的只是一个空字符串(请确保您的连接已设置为使用UTF-8) 2) IBMi当然能够存储双字节数据,这取决于物理文件(表)是如何创建的。您可以从5250会话执行DSPFD库/文件,并搜索DBCS-capable——您将看到一个Yes或No,指示表是否能够存储双字节字符。如果要使用SQL查找,可以查询SYSIB

我正在使用IBMiSeries.NETDataReader从AS400获取数据

1) 我需要在AS400端执行什么操作才能发送双字节字符 2) IBM iSeries会保留双字节字符吗?我得到的只是一个空字符串(请确保您的连接已设置为使用UTF-8)

2) IBMi当然能够存储双字节数据,这取决于物理文件(表)是如何创建的。您可以从5250会话执行
DSPFD库/文件
,并搜索
DBCS-capable
——您将看到一个
Yes
No
,指示表是否能够存储双字节字符。如果要使用SQL查找,可以查询SYSIBM数据库:

SELECT * FROM SYSIBM.SQLCOLUMNS WHERE TABLE_SCHEM = 'MYLIB' AND TABLE_NAME = 'MYTABLE'

您需要查找
TYPE\u NAME
列以查看数据类型。如果它是
VARGRAPHIC
,那么它就能够存储双字节字符。

那么我在.net端需要做的就是将连接设置为UTF-8?datareader会将其显示为字符串吗?@magic-c0d3r-我对.NET一无所知,我是IBM I的一员:-)但是如果您想在系统之间传输多字节字符数据,连接应该使用UTF-8。