Constant: UTF8# String
With compiler version >= 3.5.18.0, UTF-8 encoded string literals are possible as a single-byte string with base STRING
.
Syntax:
UTF8#' <string literal> '
VAR CONSTANT constA : STRING := UTF8#'aäoöuü'; constB : STRING := UTF8#'Hello Allgäu $21'; // Hello Allgäu! END_VAR
Tip
To ensure correct monitoring, the 'monitoring_encoding' := 'UTF-8'
attribute can be added.
UTF-8 encoding only for project-wide configuration
A UTF-8 encoding is used if the project-wide compile option UTF8 encoding for STRING is enabled. Library functions and add-ons are then also oriented according to this setting.
If you use single UTF-8 encoded strings, then you need to make sure that they are interpreted correctly wherever they are used. For example, a string variable in the OPC server will be converted to UTF-8 before being transferred to a client if the setting is not selected. Values such as UTF8#'äöü'
would then be misinterpreted. Similar problems can arise when outputting strings in the visualization.