Multi-Byte Encoding
Multi-Byte Character Support
When files are not in the default ISO-8859-1 format which is converted by AvantGard Trax to UTF-8, they can be converted, depending on the format, to UTF-8 encoding by adding the parameter encoding=”XXX” with XXX being the encoding format to the reader rule of the load rule sequence. This has been verified for both the PAIN SCORE PAIN001 and Status Feedback PAIN002 format.
Common encodings include:
UTF-8
UTF-16
windows 1250
ISO-8859-1
KOI8-R
For more information about encoding types, please visit http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html
Functionality includes the ability to import files containing multi byte characters into the Bulk payment workflow for processing and to then sending the payment file to the bank via SWIFT FileAct. The subsequent Status feedback messages can be received and processed through the Status Feedback workflow.
Once imported into the bulk payment workflow, end users will be able to view, sign, print and edit PAIN001 files. In addition end users can use the user interface filter to search within inventories using non-Latin characters e.g. Chinese characters. Also, end users will be able to view non-Latin characters that are present in the bank or holder information in static data and in the internal query builder.
Less-common CJK (Chinese/Japanese/Korean) characters are not supported due to their 4-byte length.
Oracle and UTF encoding
Oracle database scripts are by default not supported for usage with UTF with more than one byte per char. Database encoding should preferably be iso-latin1. In practice, this means that when an Oracle database is configured in UTF encoding some characters are presented by more than one byte. If you enter e.g. for a user the maximum length in code or name field with one of these characters a strange character, then the result is an SQLException that the string is longer than the maximum length defined for that field.
To resolve this, use the global database parameter: NLS_LENGTH_SEMANTICS = 'CHAR'. It can be modified without restarting the server with “alter system set nls_length_semantics=char;”
For more information please refer to:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams127.html
http://www.oracle-base.com/articles/9i/CharacterSemanticsAndGlobalization9i.php
http://www.coderanch.com/t/307419/JDBC/java/Fit-or-not-fit-Oracle