11 svar
605 visningar
Schwartz 42
Postad: 9 feb 19:19

åäö i Visual studio 2022

Hej! Googlat som en galning o blir inte klok. Finns det något enkelt sätt att få Visual studio 2022 att skriva ut åä och ö? Nu blir det bara ett konstigt tecken. Försökt o leta bland inställningar, men det blir ingen skillnad. Antagligen hittar jag inte rätt. Tacksam för hjälp! 

Laguna Online 30711
Postad: 9 feb 19:37

Funkar det här? https://stackoverflow.com/questions/57612504/how-to-correctly-display-unicode-characters-in-vs-codes-integrated-terminal

Schwartz 42
Postad: 9 feb 21:10

Nää, för det där är ett annat program. Jag hittar inga sånna inställningsmenyer alls i min Visual Studio, som bara heter Visual Studio2022 o inte Visual Studio code. 😟

Laguna Online 30711
Postad: 9 feb 21:14

Jag tänkte på kommandot chcp.

Kan du visa en skärmdump av hur det ser ut?

Schwartz 42
Postad: 9 feb 21:31

ska prova med chcp! Återkommer :)

Schwartz 42
Postad: 9 feb 21:40

Tyvärr blev bokstäverna ännu konstigare med den inställningen. Vet i fan hur man ska få ordning på det :(

anders_k 237
Postad: 10 feb 20:25

Jag vet inte om du menar ÅÄÖ i ett teriminal fönster, eller om du menar inne i visual studio i koden.

Det senare du får du till genom att slå på UTF-8

Det första får du genom att sätta consolen till rätt teckensats:

#include <iostream>
#include <locale>
#include <string>

int main() {

  setlocale(LC_ALL,"sv-SE");

  std::string s = 
 "abcÅÄÖåäöüadksaildusojdpodsfjhdsfjhlsfj;skfdjmfksjdfkljdsflkjslkjfc.&^!&#!&@*"; 
  std::cout << "test string:[" << s << ']' << std::endl;

  return 0;
}
Schwartz 42
Postad: 12 feb 19:57

Gjorde som du skrev Anders, men får inte till det iaf. Såhär ser konsolfönstret ut efter att jag skrivit in koden du skriver. Kan utan problem skriva åäö inne i själva Visual Studio. Men när man ska ha upp den på konsolfönstret vill det inte alls. 

Laguna Online 30711
Postad: 12 feb 21:44

Jag googlade "visual studio 2022 console unicode" och det kom många träffar. Finns kanske en lösning där?

anders_k 237
Postad: 13 feb 17:47

Kolla igenom dina compiler switchar på projektet, sätt det till detta Multi-Byte Character Set

Schwartz 42
Postad: 13 feb 19:58

Haha, tack snälla Anders! DET FUNKADE!! 

anders_k 237
Postad: 17 feb 08:53 Redigerad: 17 feb 08:54

För att ge ett komplett svar så lägger jag till vad man gör för att skriva ut UTF-8 istället för som ovan, ANSI.

För att sätta console i rätt mode måste man ropa SetConsoleOutputCP:

#include <iostream>
#include <windows.h>

int main()
{
  SetConsoleOutputCP(65001);
  std::cout << u8"Hello ÅÄÖ World!\n";
}

Notera att alla strängar skall då ha prefix u8, sen skall det i projektet stå:

Svara
Close