¿Cuál es la forma más correcta de configurar la codificación en C ++?

¿Cómo es mejor configurar la codificación en C ++?

Me acostumbré a trabajar con Unicode (ywchar_t, wstring, wcin, wcout y yo" ... "). También guardo la fuente en UTF-8.

En este momento uso MinGW (Windows 7) y ejecuto mi programa en la consola de Windows (cmd.exe), pero a veces puedo usar gcc en GNU \ Linux y ejecutar promgram en la consola de Linux con codificación UTF-8.

En todo momento quiero compilar mi fuente en Windows y en Linux y quiero que todos los símbolos de Unicode hayan sido ingresados ​​y emitidos correctamente.

Cuando enfrenté el siguiente problema con las codificaciones, busqué en Google. También encontré los consejos más diferentes:setlocale(LC_ALL, "") ysetlocale(LC_ALL, "xx_XX.UTF-8"), std::setlocale(LC_ALL, "") ystd::setlocale(LC_ALL, "xx_XX.UTF-8") desde<clocale>,

SetConsoleCP() ySetConsoleOutputCP() desde<windows.h> y muchos, muchos otros.

Por fin me molestó este chamanismo y quiero preguntarte: ¿cómo es correcto establecer la codificación?

Respuestas a la pregunta(2)

Su respuesta a la pregunta