Note: This was originally posted by an inactive account. Content was preserved by moving under an admin account.
Originally posted by: Tim MeagherHi,
Within the LAE, any field that is of type "string", and all metadata will be encoded in a single byte character set.
The character set to use can be specified via a server property ls.brain.server.characterSet.
This must be the actual name of the character set (e.g. windows-1252, not just "1252").
The property can be set in the ls_brain.prop file which can be found in your LAE server installation directory under conf/brain/ls_brain.prop.
It is the server property which governs how all nodes handle their string data along with the character set used for the metadata of all nodes.
The BRE preference is just used to tell BRE what the character set of the server is.
Since the character set is currently used for the string encoding, the metadata encoding, and the communication mechanism between BRE and the server, these must be the same value on BRE as on the server.
This BRE preference can be set under Tools->Preferences->Advanced->Server Code Page.
However, BRE only accepts windows code page numbers.
Therefore, if you set your server character set property to "windows-1251" for example, you would need to set your BRE "Server Code Page" preference to "1251".
The BRD Viewer preference, similarly just tells the BRD Viewer the code page that was used for the encoding of the metadata and the string data.
These can be in the same format as that of the server character set property.
The BRD Viewer has a separate value for the metadata and the string data type.
However, since the LAE will always currently produce BRD files with the string and metadata encoded in the same character set, these should always be the same value.
If running the BRD Viewer outside of BRE, this should be the same value as the character set of the server which produced the data.
For example, when using windows-1251 as the character set, the BRE "Server Code Page" preference should be set to "1251" and the BRD Viewer preference would be set to "windows-1251, windows-1251".
Note that since this needs to be a single-byte character set, it isn't possible for the server to have a utf-8 etc character set specified.
This may not throw an error immediately, but as soon as you start using characters that have multiple bytes then you'll run into troubles.
For any multi-byte or unicode data, this needs to be in a field with "unicode" type.
While it is possible within the BRD Viewer to view "string" data in different character sets like utf-8, this doesn't really make much sense, since all of the nodes will be treating them as if they are in the character set of the server (which - again, must be single byte).
So when bringing unicode data into the LAE, it must be brought into a unicode field type.
FYI - I know that having three separate preferences to specify the same thing to different components is stupid, but that's just the way it is at the moment, and hopefully this will be tidied up at some stage in the near future.
Hope this clarifies things somewhat,
Tim.