How can I get the encoding from a GNU gettext .mo file in C++

I am using GNU gettext for translations and it works. The following test code shows the idea of my implementation:

#include <iostream>
#include <stdio.h>
#include <stdlib.h>

#include <libintl.h>
#include <locale.h>

#define _(STRING) gettext(STRING)

int main()
{
  /* Setting the i18n environment */
  setlocale (LC_ALL, "");
  bindtextdomain ("hello", getenv("PWD"));
  textdomain ("hello");

  /* Example of i18n usage */
  std::cout << _("Hello World!") << std::endl;

  setenv("LANGUAGE", "fr", 1);

  std::cout << _("Hello World!") << std::endl;

  return EXIT_SUCCESS;
}

I have a working .mo file, so when I run the program I get:

Hello World!
Bonjour le monde!

So far so good. But I have to forward the translated strings to a 3rd party application, and there I need to indicate the encoding (Latin 1, Latin 9, Cyrillic, UTF-8, etc).

How can I get the encoding at run time?