-1

当我尝试在 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?";
}
4

1 回答 1

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?");
}
于 2013-11-11T14:47:15.107 回答