world.cpp中
///- Read the player limit and the Message of the day from the config file
    SetPlayerLimit( sConfig.GetIntDefault("PlayerLimit", DEFAULT_PLAYER_LIMIT) );
    SetMotd( sConfig.GetStringDefault("Motd", "Welcome to the Massive Network Game Object Server." ).c_str() );
修改为
///- Read the player limit and the Message of the day from the config file
    SetPlayerLimit( sConfig.GetIntDefault("PlayerLimit", DEFAULT_PLAYER_LIMIT) );
//SetMotd( sConfig.GetStringDefault("Motd", "Welcome to the Massive Network Game Object Server." ).c_str() );
而后增加
// change to unicode..

   char * tempchar = NULL;

   int m_lens = strlen(sConfig.GetStringDefault("Motd", "Welcome to the Massive Network Game Object Server." ).c_str());
   tempchar = (char*)malloc(m_lens+1);
   
   strcpy(tempchar,sConfig.GetStringDefault("Motd", "Welcome to the Massive Network Game Object Server." ).c_str());

   BSTR Uni_text;
   int nLen = MultiByteToWideChar(CP_ACP, 0, tempchar, lstrlen(tempchar), NULL, NULL);
   Uni_text = SysAllocStringLen(NULL, nLen);
   MultiByteToWideChar(CP_ACP, 0, tempchar, lstrlen(tempchar), Uni_text, nLen);

   //change to UTF..
   char *UTF_Text = NULL;
   int nLen2 = WideCharToMultiByte(CP_UTF8, 0, Uni_text, -1, UTF_Text, 0, NULL, NULL);
   UTF_Text = (char*)malloc(nLen2+1);
   WideCharToMultiByte(CP_UTF8, 0, Uni_text, -1, UTF_Text, nLen2, NULL, NULL);

   SetMotd(UTF_Text);

   free(tempchar);
   SysFreeString(Uni_text);
   free(UTF_Text);

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-12
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-10-26
  • 2021-05-08
  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
  • 2021-11-13
相关资源
相似解决方案