Change CCSID system value from 65535 to 1208 (UTF-8)

Any IBM i topic that does not fit in another forum
Post Reply
LUCAG
Posts: 7
Joined: Tue Mar 28, 2023 9:00 am

Change CCSID system value from 65535 to 1208 (UTF-8)

Post by LUCAG »

I've already posted this message in other forums but without too much luck getting any response, I'm posting it again here hoping someone can give me some help on how to proceed with this issue.

I have a system that always has as system values QCCSID equal to 65535 and as a QCHRID value:
- Font IDs. . . . . : 697
- Code page . . . . . . . : 280

We now need to change the QCCSID to 1208 (UTF-8) and the codepage could stay at 280 or be changed to 1144. This happens because new application based on some webapp framework needs UTF-8 to work.

Can you help me explore the cons of this move?

I think I should recreate all the sources with the new ccsid and consequently recreate all the pgms but the files that have stored data at 65535 for 20 years, what would happen?

Have you ever managed such a passage?

Do you know of a document or checklist that can help prepare for such a transition?

TIA
Scott Klement
Site Admin
Posts: 799
Joined: Sun Jul 04, 2021 5:12 am

Re: Change CCSID system value from 65535 to 1208 (UTF-8)

Post by Scott Klement »

It's not possible to change the QCCSID system value to 1208 -- there are many parts of the system that require EBCDIC.

I suspect what you really want is to change QCCSID to 280 -- so that it matches your code page and language value. (or 1144, which I believe is the same as 280, except it has the euro symbol.)

You say something about "changing the sources that are stored at 65535"... but there's no such thing as 65535 -- this is a special value that means *HEX (or "do not translate.") It doesn't identify an actual CCSID. But if you have your language set to italian, and code page at 280, and presumably your 5250 emulator is already at 280 -- then it's almost certain that all of your code is already stored at 280.

The only problem you'd have is if you have something configured incorrectly. For example, if you have your emulator at CCSID 37, but your system is using codepage 280 -- then every time you input a symbol, it is being mistranslated because your emulator thinks it should input CCSID 37, but your system believes it's receiving 280. When you change QCCSID, it will start translating them properly -- but if there is existing mistranslated values, they'll look wrong to the user and need to be corrected.

If everything is configured correctly for your language/codepage values right now, then setting QCCSID to 280 or 1144 will "just work", and when something DOES need translation (such as when you want UTF-8) it will translate correctly.

1144 is exactly the same as 280, except for the euro character, so if everything is 280 now, changing it to 1144 is also okay, it shouldn't cause any problems.

I don't know how to tell you what your "check list" should be because it entirely depends on the way your applications are written, and whether you have anything configured incorrectly. But almost everyone that I've talked to can just run the CHGSYSVAL command to change QCCSID, and it "just works" without any additional preparation.
LinoWillingham
Posts: 1
Joined: Thu May 04, 2023 9:54 am

Re: Change CCSID system value from 65535 to 1208 (UTF-8)

Post by LinoWillingham »

Switching to a new encoding can be a complicated process, but in the end it may be necessary to ensure compatibility with new applications and systems. Re-creating all source files and programs may be necessary, but it depends on how the files were created and how they are used. If the files were created using standard methods, recreating them may be easier than if they were created using specialized tools or changed manually. Before proceeding with the transition, it is important to test and verify all applications and systems that will be affected. This will ensure that everything is working properly and that there are no unexpected problems. There are also specialized tools and methods that can help with this process, including encoding converters and automated testing tools. Contact your system manufacturer or search the appropriate resources on the Internet for more information.
Post Reply