In a FIX message, "EncodedText" field can be used to encode text strings that can not be represented by the regular single byte encoding, such as Chinese or Japanese texts.
The FIX specification defined a "MessageEncoding" field representing the encoding code page used in the FIX protocol.
However, most FIX applications still use the "Text" field in FIX messages to transmit human readable text strings.
"Text" field can be used to encode strings composed of single byte characters. In QWFIX, we provide a unique feature for users to choose a single byte encoding scheme for that kind of text strings. We call it "Text Encoding".
For example, if both sides use the "Western European (Windows)", special characters such as Euro sign "€" and British Pound sign "£" will be correctly encoded and decoded by both sides in the regualr "Text" field.
By default, the QWFIX decoder will enforce strict FIX message validation rules on the incoming FIX messages. Messages that doesn't pass the validation process will be automatically rejected by the FIX session, before it reaches the higher level business logic.
However, there are several "non-standard" implementation of FIX protocol around. Each breaks the FIX specification in different way. Unfortunately, we can not always ask out clients to correct their FIX implementation. Sometimes we need a way to relax the validation rules on our side to allow those problematic FIX messages coming through and try to process them.
QWFIX provide a variety of advanced options regarding the FIX message validation rule. Note those options only applies to incoming FIX messages. QWFIX always enforce the strongest validation rules on the FIX messages sending out. The developers using QWFIX SDK is responsible for composing correct FIX messages before sending the message. Otherwise an exception will always be thrown out in the code and the problematic message will never have a chance to reach the counter party. It is actually a good design consideration because it helps minimize the impact of bugs in application.
The following table lists all possible decoding options: