2016-11-26 2 views
0

Ich habe versucht, "Text här" auszudrucken, und es ausgedruckt "Text hôr". "ö" wird zu "+" und "å" wird zu "Ô".Visual Studio druckt nicht die richtigen nordischen Zeichen

Hier ist der ganze Code.

#include <iostream> 

int main() 
{ 
std::cout << "Text här"; 
return 0; 
} 

Ich benutze Visual Studio 2015. Was könnte das verursachen und wie würde ich es behoben?

+5

Wahrscheinlich können Sie eine Antwort finden Sie hier: https://stackoverflow.com/questions/1371012/how-do-i-print-utf- 8-von-c-console-application-on-windows –

+0

Die Standardkonfiguration einer Konsole unter Windows bis heute basiert immer noch auf Entscheidungen, die im Jahr 1982 getroffen wurden. Sehr schwer zu beheben, zu viele unternehmenskritische Anwendungen gehen davon aus ist noch 1982. Sag es einfach deinem Redakteur. In VS tun dies mit Datei> Speichern unter> Pfeil auf der Schaltfläche Speichern> Code Seite 437. –

+0

Titel sollte eigentlich sein "Mein Programm druckt nicht die richtigen nordischen Zeichen" – stijn

Antwort

2

Es ist nur ein Unterschied zwischen der Zeichencodierung, die in der ausführbaren Datei verwendet wird, und der im Konsolenfenster verwendeten Zeichenkodierung.

Sie können die Zeichencodierung des Konsolenfensters über den Befehl chcp ändern.

Sie können das manuell oder z. in Ihrem Programm:

system("chcp 1252 >nul"); 

Für die meisten der Codierung Probleme zu vermeiden und internationale Zeichen im Allgemeinen behandeln, können Sie Unicode-i/o verwenden.

Die Unterstützung der C++ - Standardbibliothek ist jedoch nicht vorhanden, was bedeutet, plattformspezifische Funktionalität zu verwenden, und zweitens sind die Konsolenfenster im Wesentlichen auf die Basic Multilingual Plane von Unicode beschränkt, die dem ursprünglichen 16-Bit-Unicode entspricht aufgrund des ursprünglichen API-Designs.

In der Praxis bedeuten diese Probleme und andere, dass es einen Unterschied zwischen dem explorativen Code des Anfängers und dem professionellen tragbaren Code gibt.


Sie finden folgende nützlich: (How can I make Unicode iostream i/o work in both Windows and Unix-land?)

Verwandte Themen