1

我请求一个网页,CCHttpRequest然后当我打印收到的响应时,CCString我可以看到土耳其字符没有任何问题,但是当我分配收到的响应并使用奇怪的字符std::string打印时出现。CCLog我怎样才能解决这个问题?

std::vector<char> *buffer = response->getResponseData();

char jenny [buffer->size()];

for (unsigned int i = 0; i < buffer->size(); i++)
{
    jenny[i] = (*buffer)[i];
}


CCString* uStr = CCString::createWithContentsOfFile(jenny);

string wStr(jenny);

CCLog("%ls", &wStr);

CCString 响应:从文件中获取数据(< ?xml version="1.0" encoding="utf-8"?> < string xmlns="http://tempuri.org/" > Gönderildi </ string >

字符串 CCLog 响应:����k�4p�</p>

4

2 回答 2

1

您只是想在 CCLOG 中打印值还是想在 CCLabel 中实际显示它们?

如果要在 CCLabel 中显示它们,则可以通过以下方式进行:

  1. 将值存储在 std::string 中
  2. 当您将其分配给标签时,请使用 c_str() 方法来检索值。

例子:

std::string friendID            = friendDetails->getFBID();
CCLabelTTF *friendNameLabel = CCLabelTTF::create(friendName.c_str(), "Helvetica", 20.0 * MENU_FONT_SCALE);
friendNameLabel->setString(friendName.c_str());

IMO,这应该可以正常工作。我在我的一个库中使用它们,我在其中从 Facebook 获取数据并在游戏中使用它。

这是我在其中显示 FB 用户的 Facebook 朋友姓名的代码链接。

于 2013-08-11T09:43:44.083 回答
0

尝试设置语言环境,这里有一个链接可以为您提供帮助

为什么 printf 不格式化 unicode 参数?

于 2013-08-11T21:22:33.760 回答