| Products | Versions | 
|---|---|
| TIBCO SmartSockets | - | 
| Not Applicable | - | 
Resolution:
 Yes, but in order to correctly send multi-byte character strings  you will need to create your own message type which uses UTF8 field types. This is because C cannot correctly encode a non ASCII character unless you create a message type which has defined fields of UTF8 in the C program itself. Note: UTF8 represents the standard name "UTF-8" - 8-bit Unicode Transformation Format.
#define UTF8_STR_MT  1000
T_IPC_MT  UTF8_str_data;
T_IPC_MSG UTF8_str_msg;
    UTF8_str_data = TipcMtCreate("UTF8 string data", UTF8_STR_MT, "{utf8 utf8}");
    if(NULL == UTF8_str_data) {
       (*  Error processing *)
    }
    UTF8_str_msg = TipcMsgCreate(UTF8_str_data);
    if(NULL == UTF8_str_msg) {
       (*  Error processing *)
    }
You would then use TipcMsgAppendUtf8 to build the message,  and you would read the fields out of the message with TipcMsgNextUtf8.
The fact that Java can use T_MT_STRING_DATA with multibyte characters is a side-effect of the way Java works. Java supports extended character sets. ANSI C only supports extended ASCII.