以下を使用して 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() に自分の言語の記号 (ą、ł、ź など) を入れるまでは問題なく動作します (ALT キーを押しながら書かれた 'a'、'l'、'z' です)。これらのシンボルの場合、 qDebug( "%s", _arg )* は「?」のみを提供します それらすべてのために。プログラムでこれらの値を認識する方法は?
たとえば、スクリプトで sendFunc( "Aaś" ) を使用すると、出力される _arg は "Aa?" になります。
*qDebug は Qt ライブラリからのもので、printf() と同じように機能しますが、デバッグ ウィンドウに出力します。
ありがとう。