C++ 替换Qt5中的QTextCodec::SetCodecForCstring

C++ 替换Qt5中的QTextCodec::SetCodecForCstring,c++,c++11,qt5,porting,C++,C++11,Qt5,Porting,我有很多遗产是利用QTextCodec::setcodeforcstring来处理其他语言,如葡萄牙语、瑞典语和意大利语。我知道这个解决方案: 我也读过这个博客 但这毫无帮助。这个功能消失的事实对我来说真的是一个破坏交易的因素 我考虑过编写自己的QString类,或者复制setcodeforcstring的源代码,并将其改编为Qt5。我将处理跨平台问题(反正已经处理过了) 有人试过这个吗?如果是,您遇到了什么问题?是否已经制作了可以替代的东西(库、包装器、适配器)?如果需要的话,我不

我有很多遗产是利用QTextCodec::setcodeforcstring来处理其他语言,如葡萄牙语、瑞典语和意大利语。我知道这个解决方案:

我也读过这个博客

但这毫无帮助。这个功能消失的事实对我来说真的是一个破坏交易的因素

我考虑过编写自己的QString类,或者复制setcodeforcstring的源代码,并将其改编为Qt5。我将处理跨平台问题(反正已经处理过了)

有人试过这个吗?如果是,您遇到了什么问题?是否已经制作了可以替代的东西(库、包装器、适配器)?如果需要的话,我不介意付钱。或者我必须坚持使用qt4,但我真的很喜欢新的连接语法

编辑:

int main(int argv, char** args)
{
  // Create test application.
  QApplication application(argv, args);

  QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB18030-0"));

  //My main form shown here

  return application.exec();
}

问题是,在您的源代码中,您在哪里依赖于更改文本编解码器?你能把这些部分分离出来,让它们通过
QTextCodec
吗?@peppe很好,qt几乎无处不在。切换到QTextCoded所需的时间与切换到utf-8所需的时间大致相同。但是我从你的评论中了解到,如果我不能摆脱setcodeforcstrings,我就没有办法得到qt5。你仍然没有解释你在代码中使用的
setcodeforcstrings
。您可以添加SSSCE吗?