Output Encoding |
Whenever Soluling creates localized files, it uses the same encoding as used in the original file. It works if the original data uses Unicode. If not, then Soluling uses original encoding only if it can correctly encode the characters used in the target language. If not, then Soluling uses an encoding that is the closest match for the original encoding.
Let's have an example. We have an English XML that uses UTF-8. UTF-8 is Unicode, so every single output file also uses UTF-8. However, if the original XML file uses ISO 8859-1 that is not Unicode but a legacy code page based encoding, things get more complicated. The following table explains what encoding is used in various situations.
Original encoding |
Output language |
Output encoding |
Notes |
---|---|---|---|
UTF-8 | English | UTF-8 | UTF-8 is Unicode and can handle all scripts. This means that it can be used with all languages. |
UTF-8 | German | UTF-8 | |
UTF-8 | Polish | UTF-8 | |
UTF-8 | Japanese | UTF-8 | |
ISO 8859-1 | English | ISO 8859-1 | The original language is English, so the same encoding can also be used. |
ISO 8859-1 | German | ISO 8859-1 | The original encoding supports German, so it can be used. |
ISO 8859-1 | Polish | ISO 8859-2 | The original encoding does not support Polish, so an encoding supporting Polish must be used. The same encoding family (ISO 8859) has a variant that supports Polish: ISO 8859-2. |
ISO 8859-1 | Japanese | Shift JIS | The original encoding does not support Japanese, so an encoding supporting Japanese must be used. ISO 8859 family does not support Asian languages, so a Japanese specific Shift JIS encoding is used. |
By default, Soluling uses the default encoding. You can override this if the file can be written with other encodings. For example, most text-based files, such as XML, can be encoded in many different encodings. If the default encoding chosen by Soluling is not the one you what you can change it using the Output sheet of the source dialog.
Note! If you change the output encoding, make sure that whatever consumes the localized files can read that encoding. For example, if you use an XML parser to read XML data, it might be that your parser accepts only UTF-8 and UTF-16 but not UTF-32 or ISO-8859-x.
By default, Soluling adds a byte order mark (BOM) to localized files if the original file contains a byte order mark. Even it is not recommended, you can override this by choosing output encoding with a different BOM value.
Note! If you change the BOM of the output file, make sure that whatever consumes the localized files can read files with the chosen BOM settings. For example, if you use an XML parser that does not accept BOM, do not make Soluling create output files that contain BOM.