FTP传输中文问题

发布于 2022-09-10 15:23:41 字数 1146 浏览 22 评论 9

CD /4FTP                    
namefmt 1                  
LCD /QSYS.LIB/PROJECT.LIB   
bin                        
ltype c 1381               
PUT TWFSFTP.PF VCD003.TXT   
QUIT                        

从400传输含有中文的PF传至FTP服务器,命令如上
但,传输文件失败,检查log

> PUT TWFSFTP.PF VCD003.TXT
Unable to convert data from CCSID 935 to CCSID 1381: reason 3028.
426 Connection closed; transfer aborted.                        
226 ABOR command successful.                                    

请教各位,应该如何设置?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

凉城 2022-09-11 15:46:45

这样来,你自己做个测试,你把这个数据文件重新拷贝一份到你个人LIB下,确认CCSID=935,然后测试FTP下载或CA/400 Transfer下载是否正常?

以前遇到一种情况,就是先通过400命令把结果转成*OUTFILE文件,然后通过SQL筛选需要的数据,发觉有时也无法正常下载,后来重新拷贝表结构,确认CCSID=935后,重新插入数据就可以正常下载了。

仅供参考。

请你别敷衍 2022-09-11 15:46:45

通过dds重新编译新的pf,确认ccsid为935。 再通过cpyf 把源数据复制到新的pf. ftp传输.结果还是失败....

于是,我把测试数据删除到只剩几条记录,再ftp传输,竟然成功了! 由此证明是数据上的问题. 但什么样的数据竟然会导致ftp失败,目前未知. 继续实验~~

山人契 2022-09-11 15:46:41

回复 7# qingzhou

PF的CCSID是935.存放的中文字段是O型
通过CA/400 Transfer功能不能正常下载到本地.会报message说数据丢失

独自←快乐 2022-09-11 15:46:40

Unable to convert data from CCSID 935 to CCSID 1381: reason 3028.

检查本地存放中文的PF数据文件的CCSID是否为935?
检查存放中文的字段是否为O类型?

通过CA/400 Transfer功能可以正常下载到本地吗。

小ぇ时光︴ 2022-09-11 15:46:26

回楼上,都试过...彻底无语了

念﹏祤嫣 2022-09-11 15:46:16

FTP上传中文,如果是个SAVF,你用BIN传,如果是个member,那你用ASC传

那伤。 2022-09-11 15:24:59

http://bbs2.chinaunix.net/viewth ... &from=favorites

看看这个帖子也许对你有帮助

那片花海 2022-09-11 15:17:16

谢楼上回复,但我就是这么设的.无法转换ccsid. 继续求解答

晒暮凉 2022-09-11 13:27:34

也是百度娘在cu搜索出来的
如何使用FTP在PC和AS/400之间传输包含中文的文件

由于运行视窗操作系统(Windows)的PC使用ASCII编码, 而运行OS/400的AS/400使用EBCDIC编码, 所以在两个不同编码的操作系统之间互相传送文件, 就涉及到文件编码的问题. 如果要传输的文件又包含中文, 那么系统又要做不同的转码处理, 本片文章就介绍如何在 PC和AS/400之间正确地传输包含中文的文件.

1. 从PC往AS/400送文件PC -->; Client, AS/400 -->; Server)
示例: 将PC上e:temp目录下的文件test.file(包含中文), 传送到AS/400上的库TESTLIB中
* 在Windows中运行DOS窗口;
* ftp as400-ip-address;
* 输入用户名和密码;
* quote site namefmt 1
* cd /qsys.lib/testlib.lib
* lcd e:test
* bin
* quote type c 1381
* put test.file

2. 从AS/400往PC送文件PC -->; Server, AS/400 -->; Client)
示例: 将AS/400上库TESTLIB下的文件test.file(包含中文), 传送到PC上的目录e:temp中
* 在AS/400命令行输入: ftp 'pc-ip-address'
* 输入用户名和密码;
* cd e:temp
* namefmt 1
* lcd /qsys.lib/testlib.lib
* bin
* ltype c 1381
* put testas.file

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文