Handling Special Characters With printf() In A Tuxedo Application Server On A Multi-Byte Locale Linux Environment (Doc ID 1901526.1)

Last updated on JULY 26, 2017

Applies to:

Oracle Tuxedo - Version 10.3.0 and later
Linux x86-64

Goal

When using a special character with printf() in a Tuxedo application server application, on Linux , it can not handle the character correctly.

For example,


The client process works well but any server process, using printf(),  can not handle the character correctly.

If LC_CTYPE is set as Japanese, or some other multi-byte locale, this problem happen on Linux.

The application server process by default on startup is an equivalent setlocale(LC_ALL,"") so the server process LC_CTYPE will be same as $LANG

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms