×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
Hi Scott,
As always - spot on.
Using o_ccsid solved all problems and the program is working as expected.
And yes - I use o_ccsid=0, and that's confirmed working on ccsid 278 and ccsid 277 lpars with national characters involved!
Thank you for your time and effort - I actually read up on fopen ahead of posting, but until your explanation I did not understood the difference between ccsid and o_ccsid.
Best regards
Stefan
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Scott Klement
Sent: Tuesday, January 4, 2022 12:47 AM
To: rpg400-l@xxxxxxxxxxxxxxxxxx
Subject: Re: RPGprogram: how to use fopen with various CCSID's
Use o_ccsid instead of ccsid. Also, consider whether you really want to hard-code 278, or if you'd be better off using o_ccsid=0 (0 means current job's ccsid).
The ccsid= keyword is legacy cruft -- don't use it. It was for old releases before the IFS supported CCSIDs, so what it does is convert the CCSID to a corresponding code page, and then uses that... this won't work with anything that requires multiple code pages (such as Unicode.)
https://www.ibm.com/docs/api/v1/content/ssw_ibm_i_74/rtref/fopen.htm
On 1/3/2022 12:15 PM, stefan@xxxxxxxxxx wrote:
I need to read thru a bunch of IFS-files in an rpg-program to locate
some items.
Using fopen( %trimr( file ): 'r, ccsid=278' ); seems to work pretty
well until I encounter a file with CCSID=13488.
That one gives me an errno=3490=Conversion error.
If I modify the fopen to fopen( %trimr( file ): 'rb' ); binary mode
makes me get thru the open but then I have to translate all the data by myself.
What is the proper way of dealing with this?
I am expecting to find files in various ccsid's like 819, 37, 819,
278, 13488, 1252 etc.
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.