我已经使用以下方法注册了 LUA api 函数:
lua_register( luaState, "someFunc", aaa::someFunc);
这个函数必须从 someFunc 的参数中加载一个字符串。
我正在这样做:
int aaa::someFunc( lua_State* state ) {
const char* _arg = ( const char* )lua_tostring( state, -1 );
// ...
return 0;
}
它工作正常,直到我将一些我的语言的符号放入 someFunc() 中,例如:ą、ł、ź 等(它是 'a'、'l'、'z' 写的按住 ALT 键)。对于这些符号 qDebug("%s", _arg )* 只给我 "?" 为他们所有人。如何在我的程序中识别这些值?
例如,当我在脚本中使用 sendFunc("Aaś") 时,打印的 _arg 是“Aa?”。
*qDebug 来自 Qt 库,它的工作原理与 printf() 相同,但输出到调试窗口。
谢谢。