Informix Error -23115: Code sets of the locale categories are not the same.
Cause and resolution
Code sets of the locale categories are not the same.
On the client side or database server side, the locale is established with the following precedence of announcement mechanisms, the CLIENT_LOCALE, LANG, LC_*, and the English locale, en_US.8859-1. Given this precedence, the six categories of the processing locale are set in the following way: COLLATION, CTYPE, TIME, MONEY, NUMBER, MESSAGES.
The GLS initialization function returned this error because an invalid locale was specified. The locale specifier is usually the environment variables. Check the value of INFORMIXDIR and CLIENT_LOCALE. INFORMIXDIR should point to a valid directory where the IBM Informix products are installed. This directory should also contain the /gls directory where the locale and code-set files reside.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-23115 fires when the GLS initialization function receives an invalid locale
specification — per the official guidance. On each side (client or server), the locale is
established via a precedence of CLIENT_LOCALE, LANG, LC_*, then the English locale
(en_US.8859-1), setting six categories (COLLATION, CTYPE, TIME, MONEY,
NUMBER, MESSAGES).
- An invalid locale specifier (typically an environment variable), per the official guidance — the direct, only cause.
Solutions / Resolution
- Check the value of
INFORMIXDIRandCLIENT_LOCALE, per the official guidance —INFORMIXDIRshould point to a valid installation containing the/glsdirectory with the locale and code-set files.
Examples
Checking INFORMIXDIR's gls directory
$ ls $INFORMIXDIR/gls
Diagnostic Checks
- Check
INFORMIXDIRandCLIENT_LOCALE, and confirm the/glsdirectory exists with the expected locale/code-set files.
Related Errors / Related Topics
- -23109 — "Invalid locale specification." A related locale-composition error, on composing the categories' long form rather than the categories' code sets disagreeing.
An invalid locale specification left the locale categories' code sets inconsistent —
check INFORMIXDIR's /gls directory and CLIENT_LOCALE.