• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

skrypt na polskie znaki w skryptach c++ windows i linux utf8

Aruba Cloud - Virtual Private Server VPS
0 głosów
1,237 wizyt
pytanie zadane 10 lutego 2023 w C i C++ przez Martita Bywalec (2,520 p.)
edycja 10 lutego 2023 przez Martita

Jestem początkująca. Szukałam i nie znalazłam nic co by u mnie działało.. Tzn. działa tylko ręczne wpisanie np. \242 zamiast ó.

Szukam takiego skryptu, który wyświetli tekst z polskimi znakami, u każdego kto otworzy plik i w obojętnie jakim systemie.

U mnie na Windows 11 skrypt wyświetla polskie znaki. .Niestety inne skrypty nie wyświetlają. Programuje w visual studio code.

Czy ten skrypt na wyświetlanie polskich znaków jest bezpieczny?

Czy ten skrypt w Linux i Windows 7, 8, 10, 11 wyświetla polskie znaki? Proszę sprawdźcie u siebie.

#include <iostream>
#include <windows.h>
using namespace std;

 
int main()
{
     system("chcp 65001");
    string tekst;

    cout << "ZAŻÓŁĆ GĘŚLĄ JAŹŃ zażółć gęślą jaźń" << endl;
    cout<<"Długa"<< endl;
    

    system("pause");
    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 11 lutego 2023 przez j23 Mędrzec (195,240 p.)
wybrane 12 lutego 2023 przez Martita
 
Najlepsza

Czy ten skrypt w Linux i Windows 7, 8, 10, 11 wyświetla polskie znaki?

W Linuksie nie ma komendy chcp. Terminal śmiga w utf-8.

Z tego, co pamiętam, przestawianie strony kodowej konsoli via system nie działało w Win7 i 8.1.

W Windowsie najpewniejsza opcja to zadbać o to, by literały były kodowane w kodowaniu cp852 (bo takie jest domyślne kodowanie "polskiej" konsoli).

Rozwiązanie: niech plik źródłowy będzie w kodowaniu utf-8 (z BOM-em), w opcjach kompilacji ustaw do jakiego kodowania powinny być kompilowane literały (w VS to opcja /execution-charset).

Licz się z tym, że pliki zapisane np. w notatniku będą w innym kodowaniu - Windows-1250. Tak to sobie Microsoft wymyślił... ;)

komentarz 12 lutego 2023 przez Martita Bywalec (2,520 p.)
Burdel to mało powiedziane.

error: 'LC_CTYPE' was not declared in this scope
     setlocale(LC_CTYPE, CONSOLE_CODE_PAGE);

 error: 'setlocale' was not declared in this scope
     setlocale(LC_CTYPE, CONSOLE_CODE_PAGE);    

    

 error: 'wcout' is not a member of 'std'
     std::wcout << L"ZAĹ»Ă"Ĺ?Ä┼ GÄ?ĹšLÄ" JAĹąĹ? zaĹĽĂłĹ'Ä┼ gÄtĹ>lÄ jaĹşĹ"\n";

 

  error: 'wcout' is not a member of 'std'
     std::wcout<< L"DĹ'uga\n";
komentarz 12 lutego 2023 przez j23 Mędrzec (195,240 p.)

Załącz niezbędne nagłówki.

#include <iostream>
#include <locale.h>

 

komentarz 12 lutego 2023 przez Martita Bywalec (2,520 p.)
Działa wielkie dzięki.

Mam nadzieje że to działa w Linuxie? Zastanawiam się bo w tych wszystkich informacjach pogubiłam się. Zastanawiam się bo o Linuxie nie mam zielonego pojęcia. Nie lubię Linuxa.

C++ na studiach mieliśmy nie dokładnie omówione.
komentarz 12 lutego 2023 przez j23 Mędrzec (195,240 p.)
Ja lubię ;) I działa.
komentarz 12 lutego 2023 przez Martita Bywalec (2,520 p.)
Dzięki

Podobne pytania

+3 głosów
3 odpowiedzi 12,650 wizyt
0 głosów
3 odpowiedzi 6,277 wizyt
pytanie zadane 30 lipca 2016 w Systemy operacyjne, programy przez niezalogowany
0 głosów
1 odpowiedź 161 wizyt
pytanie zadane 4 kwietnia 2020 w C i C++ przez Xszyfr Początkujący (390 p.)

93,334 zapytań

142,328 odpowiedzi

322,406 komentarzy

62,670 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...