- 27 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 02:12:35 ]
- >>16
QApplication::arguments()を使えば引数は文字化けしないみたいよ #include <QtGui> int main(int argc, char *argv[]) { QApplication app(argc, argv); QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); //ソースの文字コードを指定("utf-8"や"Shift-JIS") QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); //同上 QString str = argv[1]; // 添え字チェックはとりあえず無視 qDebug() << str; //NG str = app.arguments()[1]; qDebug() << str; //OK str = QString::fromLocal8Bit(argv[1]); qDebug() << str; //OK return 0; } その他のケースでシステムロケール文字コードとのやり取りが発生する場合は 明示的にQString::fromLocal8Bit()を使うのがいいんじゃないか?
|

|