|
+1 to this
UTF-8 can use 1, 2, 3, or 4 bytes to represent a character, even emojis
- there's no way to copy it back and forth between 1208 and 65535 or 37
or whatever EBCDIC you use in your country.
Even with 65535, I believe everything is handled using single bytes, so
it won't work for copying both ways. It would be interesting to see, of
course, whether the raw bytes are copied over. But presenting the data
out of 65535, IF all the bytes are copied, would be impossible, due to
the different lengths of the character representation. Or do you want to
write your own program to process UTF-8? I'm smiling as I suggest that
- no way I want to.
There are things, like emojis, that will not convert into any of the
EBCDIC character sets. We use SQL's XML/JSON functions to import the
data - anything it doesn't recognize is converted to X'3F', I believe.
Does RPG recognize UTF-8 now? I haven't checked for awhile. It has
recognized UTF-16 and UCS-2.
Cheers
Vern
On 2/4/2022 8:12 AM, Stephen Landess wrote:
Maria -different environments comprising most of the major languages and character
I spent the last 15 years working in a multinational JDE shop with 54
sets in the world.
conversions in forums such as Midrange-L and Midrange-RPG when I first
I was surprised how little information was available about character
started working there in 2006. I finally found Scott Klement's web site
and found a wealth of information from him.
from different countries which have varying character sets), then the
If you have multinational character set data in the IFS file (i.e., data
safest way to handle it is to create a new file on the IBM i with
CCSID(1208) {UTF-8}, CCSID(1200) {UFT-16}, or CCSID(13488) {UCS2} and use
CPYFRMIMPF to copy the data from the IFS file to the IBM i file using the
appropriate from and to CCSID's and use the data in the new file in your
applications. This may require using *UCS fields in RPG programs.
data be converted to EBCDIC into your current file by using the appropriate
If the IFS file is data from a particular country, then the CCSID 1208
EBCDIC CCSID as the TOCCSID() in CPYFRMIMPF, and the OS will convert the
data from 1208 to EBCDIC. However, when the file is defined using
CCSID(65535) you'll need to set the job CCSID to match the EBCDIC CCSID of
the data in order to use it...
CCSID set to 1208, whereas the DB2 flat file is set to CCSID = 655535.
Feel free to call me if you need further information.
Regards,
Steve Landess
512-289-0387
Maria wrote:
Hi all,
Hope you are all fine!
For a new customer of mine, I need to import into IBM i running V7R3 a
UTF-8 multibyte file. So, the UTF-8 multibyte file is on IFS and has
1208,The UTF-8 file is multibyte because it may contain worldwide addresses.
No matter what command do I use, be it FTP or CPYFRMIMPF,
the hexadecimal correspondence for a multibyte character (i.e. C5A0)
is just one byte (in our example is 3F);
right after, if I FTP the same DB2 flat file back to IFS, using TYPE C
is a single byte (1A).the resulting file is different from the original one:
while in the original file there is a multibyte (i.e. C5A0) now there
export aIn your opinion and experience, is there a way to import and then
the same as the original one?UTF-8 file to and from the Power system so that the resulting file is
byte and make a conversion, sort of?Should I really be obliged to read the UTF-8 file from the IFS byte per
to ask, because I am pretty sure this is a common issue.I already made an unsuccessful search in the mailing list and I resolve
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-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.
This mailing list archive is Copyright 1997-2025 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.