Anzeige von UTF-8 in einer Windows-Konsolenanwendung mit C
Diese Frage untersucht die Herausforderung beim Drucken von UTF-8-codierten japanischen Zeichen auf dem console in einer C-Konsolenanwendung, die unter Windows ausgeführt wird, mit cout oder wcout.
Lösung
Um UTF-8-Zeichen korrekt zu drucken, sind ein paar Schritte notwendig:
-
Konsolenausgabe festlegen Kodierung: Use SetConsoleOutputCP(65001); um die Konsolenausgabekodierung auf UTF-8 festzulegen.
-
Unicode-fähige Funktionen verwenden: UTF-8-Zeichenfolgen mit printf() oder wprintf() anstelle von cout oder wcout drucken.
-
Kodierung der Quelldatei konfigurieren: Speichern Sie die Quelldatei als „Unicode (UTF-8 mit Signatur)“ - Codepage 65001.“
-
Zeichensatz in den Projekteigenschaften festlegen: Stellen Sie in den Projekteigenschaften „Zeichensatz“ auf „Unicode-Zeichensatz verwenden“ ein.
-
Erwägen Sie die Schriftart: Einige empfehlen die Verwendung der Schriftart „Lucida Console“, aber auch „Consolas“ oder andere Schriftarten funktionieren möglicherweise Na ja.
Beispielcode
#include <cstdio>
#include <windows.h>
#pragma execution_character_set( "utf-8" )
int main()
{
SetConsoleOutputCP( 65001 );
printf( "Testing unicode -- English -- Ελληνικά -- Español -- Русский. aäbcdefghijklmnoöpqrsßtuüvwxyz\n" );
}
Das obige ist der detaillierte Inhalt vonWie zeige ich UTF-8-Zeichen in einer Windows C-Konsolenanwendung an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn