Problem z setlocale (polskie znaki)

0

Witam mam problem z polskimi znakami, gdy kompiluje to pokazuja mi sie krzaczki, uzywac Code blocksa i probowalem nawet z ```
setlocale(LC_ALL,"");

I nadal nie chce działać, przeszukiwalem neta i nic tam nie bylo probowalem wszystkiego. Pomocy.
0

U mnie działa ;)

#include <iostream>

int main()
{
	setlocale(LC_ALL, "");

	std::cout << "ąćęłńóśżźĄĆĘŁŃÓŚŻŹ\n";
	std::cout << "grzegrzółka\n";
	std::cout << "łódź\n";
	return 0;
}
0

Żeby działało:

  • edytor (code blocks) musi zapisywać w źródła we właściwym kodowaniu
  • kompilator powinien używać tego samego kodowania dla kodu co edytor
  • kompilator powinien generować stringi w tym samym kodowaniu co będzie używała aplikacja
  • konsola powinna używać tego samego kodowania co aplikacja

Zwykle wszędzie ustawia się UTF-8 i wszystko powinno działać.
Konsola Windows w polskim locale domyślnie chyba używa kodowania jedno bajtowego Latin-2 .
Wpisz w konsolę chcp pewnie wyjdzie właśnie 852.
Jak uda ci się ujednolicić kodowanie to na pewno zadziała.

Np zanim uruchomisz apkę wywołaj: chcp 65001 to wtedy będziesz miał kodowanie UTF-8 i jak uruchomisz aplikację używającą UTF-8 to powinno działać dobrze.

0

A jednak i u mnie ten sam problem. Visual Studio Community 2017 i brak UTF-8. Ma ktoś na to sposób?

1 użytkowników online, w tym zalogowanych: 0, gości: 1