当我尝试在BB10 Cascades框架上共享Unicode文本时,使用以下代码,所有非ASCII字符都会在调用目标处转换为问号,例如BBM会话或电子邮件:
InvokeActionItem {
title: qsTr("Share")
id: shareCard
query {
mimeType: "text/plain"
invokeActionId: "bb.action.SHARE"
}
onTriggered: {
data = getData();
}
}
function getData(){
return "¿Cómo están las cosas en el mundo hoy?";
}
答案 0 :(得分:2)
要解决此问题,请在C ++中创建一个帮助函数,将QStrings转换为Utf8,并在QML / JavaScript函数中调用它:
在你的app.h中
Q_INVOKABLE
QString Utf8EncodeString(const QString &encodeString);
在你的app.cpp
中QString app::Utf8EncodeString(const QString &encodeString) {
return encodeString.toUtf8();
}
在QML中更改getData()函数:
function getData(){
return app.Utf8EncodeString("¿Cómo están las cosas en el mundo hoy?");
}