|
Bruce, Not sure you caught my last question, so I apologize for a duplicate. If I choose to use iConv to convert the data, how do I set the ccsid of the file? Is that possible with the open() API? Brad On Thu, 26 Oct 2006 14:14:22 -0500 Bruce Vining <bvining@xxxxxxxxxx> wrote:
Brad,From the V5R1 OS/400 announcement letter 201-112:Integrated File System ...... Text file I/O now supports converting between CCSIDs with characters of differing lengths. Previously, it only supported single-byte characters to single-byte characters and double-byte characters to double-byte characters... ...... So the CCSID enhancement can be found in V5R1. In
previous releases the
Integrated File System interfaces (like open) could not be used for text conversion of mixed encodings (like 935). And using O_CODEPAGE it still doesn't. You could do this yourself with a binary open of the stream file and iconv to do your own conversions. This approach would allow you to work on earlier releases. Bruce Vining "Brad Stone" <brad@xxxxxxxxxxxx> Sent by: rpg400-l-bounces@xxxxxxxxxxxx 10/26/2006 01:14 PM Please respond to RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx> To RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx> cc Subject Re: "Conversion Error" when opening Stream File Hi, Bruce. I was going to do this, but I thought I read somewhere that O_CCSID wasn't avialble until V5R2 and my software is supported down to V4R5. On Thu, 26 Oct 2006 10:52:31 -0500 Bruce Vining <bvining@xxxxxxxxxx> wrote:Brad, I would recommend changing over to O_CCSID from O_CODEPAGE. At
http://www-03.ibm.com/servers/eserver/iseries/software/globalization/ccsid_list.html
you can find the definitions of the various CCSIDs supported by i5/OS. If you look at CCSID 935 you will see that there are actually two code pages involved as 935 is an EBCDIC mixed SBCS/DBCS CCSID.Thetwo code pages are 836 for the SBCS code points and 837 for the DBCS code points. There is no one O_CODEPAGE to represent this. Likewise CCSID 1381 is a PC-data mixed byte CCSID built on code page 1115 and 1380.Againthere is no one O_CODEPAGE to represent this. When open() was initially introduced the only supportwasfor O_CODEPAGE (and mixed byte encodings were not supported formappingpurposes). A few releases later open() was enhanced with O_CCSID inorderto provide better support for mixed DBCS environments. Hope this helps, Bruce "Brad Stone" <brad@xxxxxxxxxxxx> Sent by: rpg400-l-bounces@xxxxxxxxxxxx 10/26/2006 10:21 AM Please respond to RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx> To RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx> cc Subject Re: "Conversion Error" when opening Stream File After looking into this further, it appears we're specifying to open the file with O_CODEPAGE and specifying 1381 for that value. Now, after reading the docs more closely, if youspecifya code page, it will use that to find a CCSID. So, the problem could be that there is no code page 1381 andthismakes an invalid CCSID causing this error. Now, I've tried to search for a table of code pages and their related CCSIDs, but not having much luck. Anyone know where this beast may be found? Thanks! Brad On Wed, 25 Oct 2006 22:04:29 -0500 "Brad Stone" <brad@xxxxxxxxxxxx> wrote:This sort of falls back to the DBCS issues I'm having with a client. Anyhow, we have physical file containing all text,andaCCSID of 935. One field in the PF of type "O". Thetextcontains some DBCS chinese characters. Now, we're trying to read this file and write it to a stream file using the IFS APIs. For the open API we're specifing a CCSID of 1381. But, on the open API call, we're getting a"Conversionerror" message and the job fails. The error actually ows the line number of the error as the definition fortheopen API itself instead of the actual call, though. (odd,Ithought it would have been on the call). Now, we've succesfully taken this PF and copied it toastream file using CPYTOIMPF, and that works fine. We specify *STDASCII as the "to" CCSID and itautomaticallycreates it as 1381. But, we need to use a program to do the conversion toastream file because we do maniuplate some of the dataaswe're going through it. This generic "conversion error" is sort of driving me nuts, though, as I can't find any information on it except"theCCSID is invalid". Well, if CPYTOIMPF can do it, shouldn't I be able to?:)Thanks for any assistance with this. -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.Bradley V. Stone BVS.Tools www.bvstools.com -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l. -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.Bradley V. Stone BVS.Tools www.bvstools.com -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l. -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.
Bradley V. Stone BVS.Tools www.bvstools.com
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.