|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
IIB 9 Unicode and UTF-8 support clarification needed |
« View previous topic :: View next topic » |
Author |
Message
|
rekarm01 |
Posted: Wed Jun 24, 2020 4:31 pm Post subject: Re: IIB 9 Unicode and UTF-8 support clarification needed |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
timber wrote: |
In an ideal world, IBM would correct that page in the Knowledge Center. |
I used the "Feedback" link at the very bottom of the KC web page to request that IBM update any references to "UCS-2", for either iib10 or ace11.
PeterPotkay wrote: |
Thanks guys, I thought I remember reading / hearing the broker uses UTF-16 internally, just couldn't find anything official in the KC. |
Check back in another 6 years ... ;-)
timber wrote: |
All character data in the IIB/ACE message tree is in UTF-16, not UCS-2. All Unicode characters can be represented in the message tree - no restrictions at all. |
Additionally, IIB/ACE optionally supports UTF-16 for ESQL string functions, but that is disabled by default:
Quote: |
useICUStringManipulation
Set ESQL to provide full support for UTF-16 surrogate pairs.
- Value type - boolean
- Initial value - no
Note: ESQL supports a mode where ICU string functions are used to provide full support for UTF-16 surrogate pairs. The mode is disabled by default, but can be enabled by running the following command:
mqsichangeproperties integrationNodeName -e integrationServerName -o ImbESQLManager -n useICUStringManipulation -v yes |
This option affects how the string functions calculate the length of the string, or the position of text within the string, etc. |
|
Back to top |
|
 |
timber |
Posted: Thu Jun 25, 2020 4:31 am Post subject: |
|
|
 Grand Master
Joined: 25 Aug 2015 Posts: 1292
|
Quote: |
Additionally, IIB/ACE optionally supports UTF-16 for ESQL string functions, |
I know that rekarm01 knows this, but just in case anybody gets confused...
All ESQL CHAR/CHARACTER data is in UTF-16 always. But UTF-16 is not really a 16-bit encoding. Some characters occupy two 'code points' and take up a total of 32 bits. This is called a 'surrogate pair'.
The useICUStringManipulation option controls whether ESQL counts 'code points' (i.e. 16-bit quantities) or 'characters' (which might occupy 32 bits). |
|
Back to top |
|
 |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|