Umlaut (German special characters) problem in CSEvent
Hi,
I'm having issues when passing German special characters (umlaut) like ü ö ä Ä Ü Ö ß in my extension
(both from js to C++ and from C++ to js).
Javascript:
Here, I dispatch event
function dispatchSearchEvent(fieldName, fieldVal, eventName) {
var event = new CSEvent(eventName, 'APPLICATION', 'ILST', extensionName);
event.data = '<payload>';
event.data += '<SearchFields>' + fieldName + '</SearchFields>';
event.data += '<SearchValues>' + fieldVal + '</SearchValues>';
event.data += '</payload>';
csInterface.dispatchEvent(event);
}
Here, fieldName and fieldVal are an array of string values.
VC++ :
Here, I add listener to event and parse data.
static void onSearchClickEvent(const csxs::event::Event* const eventParam, void* const context)
{
ArticleSearchController *controller = (ArticleSearchController *) context;
if (controller)
{
AppContext appContext(gArticleSearchPlugin->GetPluginRef());
controller->ParseData(eventParam->data);
}
}
void ArticleSearchController::ParseData(const char* eventData)
{
std::string FieldName_str = getTagContents(eventData, FIELD_NAME_TAG);
std::string FieldValue_str = getTagContents(eventData, FIELD_VALUE_TAG);
}
It is passed as incorrect values. For e.g, "Ü" is passed as "Ü".
Currently, as a workaround, I write that data to a text file and read it from there. This solves my problem.
But i want to know if there is any encoding available to directly pass umlaut characters.
Appreciate your help. Thank you
