Wie kann ich alle Unicode zeichen ausgeben?[gelöst]
-
Hallo

Ich brauche hilfe wie kann ich alle Unicode zeichen in der Windowskonsole ausgeben.
Ich habe nach einer Lösung gesucht aber keine gefunden.
Ich hoffe ihr könnt mir helfen.Ich programmier mit Microsoft Visual Studio C++ Express.
-
Alle? Das wird aber extrem viel werden... Seit Juni diesen Jahres sind es schon 113.021 Zeichen.
Wie ausgeben... wie wärs mit ner for-Schleife? Oder wo genau hängst du?
Hier ne Liste, damit du siehst, wieviele das sind: http://unicode-table.com/
Edit: Ach ja, für die Ausgabe auf der Windows cmd solltest du die codepage wechseln, sonst kann es dir keine Unicode-Zeichen anzeigen.
-
Ich möchte zum beispie das ausgeben : » für ein kleines menü aber das kann ich nicht den dan kommt ein anderes zeichen.
Die Codepage habe ich auch geändert mit SetConsoleOutputCP(65001);
-
Welches encoding benutzt du für die Ausgabe? Probier mal ein
chcp 65001vor dem Aufruf deines Programms. Natürlich muss die Schriftart deines cmd auch die Zeichen enthalten, probier z.B. Lucida Console.Edit: Erstell mal ein Minimalbeispiel und poste es hier.
-
Schriftart wechseln hat auch nichts gebracht.
-
hir ein beispiel
int main() { SetConsoleOutputCP(65001); wcout << L"»" << endl; Sleep(1000); cls(); system("pause"); }cls ist nur system("cls");
-
probiers mal mit cout und ohne dem L. Ansonsten füg eine locale hinzu, etwa so:
#include <iostream> #include <locale> int main() { std::locale::global (std::locale ("de_DE.UTF-8")); std::wcout << L"»\n"; }Die default-Locale kann nicht mit wchars umgehen.
-
Sobalt ich die locale ändere funktionir mein programm nicht mehr.
Der Compiller zeigt mir keine fehler an aber die konsole sagt das sie nicht mehr funktionirt
-
#include <iostream> #include <cstdio> #include <io.h> #include <fcntl.h> int __cdecl wmain() { _setmode(_fileno(stdout), _O_U16TEXT); // file mode: UTF-16LE ohne BOM std::wcout << L"»\n"; }Funktioniert selbstverständlich nur unter Windows.
-
soll ja nur auf windows funktioniren.
Es hat funktionirt danke
.