# Enterprise Communication Interface (ECI)

## Special Topics for I18N

| ### ECI Client
| ECI clients use the standard 8-bit ISO data unless they call eci_set_enc UTF-8 for each connection to the server. This ensures that unmodified clients do not receive unsupported data from the server. Two things happen when calling eci_set_enc UTF-8: The server will switch the data encoding to UTF-8 and will send all characters in UTF-8 encoding. The server expects that all incoming data is in UTF-8! The used encoding can be read from the configuration parameter EDB-CHR-ENC-JVM. However, the client may decide to use UTF-8 even if the server is not setup for I18N. The server currently supports only these encodings: ISO8859-1 ISO8859-15 UTF-8 Currently, character conversion takes only place if UTF-8 is used. If the client does not use UTF-8, it has to use the encoding defined in EDB-CHR-ENC-JVM (this is also true for old server versions).
| ### C/C++ ECI Client
| The C/C++ ECI client does not use parameter objects for the connection, so the client has to call eci_set_enc after opening a connection with eci_connect. UTF-8 encoding and decoding must be done by the ECI API user. The ECI API user does not carry out any character conversion. For C developer: ICU libraries have been added to the third party libraries under $ep_root/ext/bin. The header files can be found under $ep_root/ext/inc/icu. More information about ICU can be found under Technical Information.
| ### Technical Information
| UTF-8 and Unicode FAQ for Unix/Linux Especially the section: "How do I have to modify my software?" International Components for Unicode (ICU) List of IBM, Windows, and Java Codepage Names I18N in Software Design, Architecture, and Implementation
| For further information about activating I18N features refer to the Administration manual. Administration Manual > Activate I18N Features