Brak polskich znaków w konsoli

0

Hej! Mam mały problem, otóż nie wyświetlają mi się znaki polskie w konsoli, próbowałam już zmieniać kodowanie, na 1250, utf-8, różne standardy ISO, wszędzie to samo... ma ktoś jakiś pomysł jak to naprawić?
z funkcją locate też kombinowałam...

0

Zdecyduj się: nie masz polskich znaków w konsoli, czy w IDE? Post i tytuł sobie zaprzeczają.

0

w konsoli

0

Jakie masz IDE? Nie każde kompiluje i "działa" z naszymi znakami... (Visual Studio jestem prawie pewny, że obsługuje utf-8)

0
Pitrek1991 napisał(a):

Jakie masz IDE? Nie każde kompiluje i "działa" z naszymi znakami... (Visual Studio jestem prawie pewny, że obsługuje utf-8)

Code Blocks 17.12

0

Próbowałeś sztuczki z:

setlocale(LC_ALL,"");
0

taaak, próbowałam... :C

1
#include <iostream>
#include <cstdlib>

int main() {
#ifdef _WIN32
    std::system("@chcp 65001 > null");
#endif // _WIN32
    std::cout << "Zażółć gęślą jaźń." << std::endl;
    return EXIT_SUCCESS;
}

Cośtam sobie przenośnego skrobię, i na razie mam takie obejście...

0

Czy nie masz zainstalowanego innego IDE? Tutaj https://forum.pasja-informatyki.pl/22262/kodowanie-codeblocks autor sugeruje, że to może być ten problem.

PS. Napisz też, jaki masz system.

3

Polskie kodowanie w windowsowej konsoli to 852. Znaki w tym kodowaniu będą się wyświetlały prawidłowo bez dodatkowych zabiegów.

0
Mokrowski napisał(a):
#include <iostream>
#include <cstdlib>

int main() {
#ifdef _WIN32
    std::system("@chcp 65001 > null");
#endif // _WIN32
    std::cout << "Zażółć gęślą jaźń." << std::endl;
    return EXIT_SUCCESS;
}

Cośtam sobie przenośnego skrobię, i na razie mam takie obejście...

screenshot-20180321223343.png
teraz wcale się nie wyświetlają te literki polskie :(

0
Silv napisał(a):

Czy nie masz zainstalowanego innego IDE? Tutaj https://forum.pasja-informatyki.pl/22262/kodowanie-codeblocks autor sugeruje, że to może być ten problem.

PS. Napisz też, jaki masz system.

nie, tylko code blocks
chyba, że pycharm może na to jakoś wpływać (?)
a co do systemu - windows 10

0
Azarien napisał(a):

Polskie kodowanie w windowsowej konsoli to 852. Znaki w tym kodowaniu będą się wyświetlały prawidłowo bez dodatkowych zabiegów.

jeśli chodzi o ustawienie takiego kodowania w editor->encoding settings, to nawet go nie ma tam do wyboru...
i dziękuję, że próbujecie pomóc!

0

To wideo mówi sporo o kodowaniu (obejrzałem jedynie fragment).

3

Całą sprawę ogarnia kompilator:
https://stackoverflow.com/a/12217048/1387438

https://gcc.gnu.org/onlinedocs/cpp/Invocation.html

-fexec-charset=charset
Set the execution character set, used for string and character constants. The default
is UTF-8. charset can be any encoding supported by the system's iconv library routine.

-fwide-exec-charset=charset
Set the wide execution character set, used for wide string and character constants.
The default is UTF-32 or UTF-16, whichever corresponds to the width of wchar_t. As
with -fexec-charset, charset can be any encoding supported by the system's iconv
library routine; however, you will have problems with encodings that do not fit
exactly in wchar_t.

-finput-charset=charset
Set the input character set, used for translation from the character set of the
input file to the source character set used by GCC. If the locale does not specify,
or GCC cannot get this information from the locale, the default is UTF-8. This can
be overridden by either the locale or this command line option. Currently the command
line option takes precedence if there's a conflict. charset can be any encoding
supported by the system's iconv library routine.

0
030303 napisał(a):
Mokrowski napisał(a):
#include <iostream>
#include <cstdlib>

int main() {
#ifdef _WIN32
    std::system("@chcp 65001 > null");
#endif // _WIN32
    std::cout << "Zażółć gęślą jaźń." << std::endl;
    return EXIT_SUCCESS;
}

Cośtam sobie przenośnego skrobię, i na razie mam takie obejście...

screenshot-20180321223343.png
teraz wcale się nie wyświetlają te literki polskie :(

Czcionkę ustaw z kodowaniem UTF-8. Z domyślnie dostępnych Lucida Console. Obsługa UTF-8 dla cmd dodana była ~ MS Windows 10 (być może nieco wcześniej).
Dla mnie to rozwiązanie to i tak niezbyt ładne obejście problemu program-> konsola i w docelowej aplikacji będzie usunięte (będzie dedykowana konsola z poprawną obsługą UTF-8). Problem występuje jeszcze w drugą stronę konsola->program (czyli wczytywanie danych)....

1
Silv napisał(a):

To wideo mówi sporo o kodowaniu (obejrzałem jedynie fragment).

pomogło! dziękuję!
ale swoją drogą myślałam że jest jakiś łatwiejszy sposób niż wpisywanie cyferek zamiast polskich znaków, żeby je wyświetliło...

0

Twój problem jest drobiazgiem, możesz jednak spróbować z kodem w konsoli jeśli jesteś strasznie uparty. Pierwotny język C został stworzony w języku angielskim.

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