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

cp852 / OEM 852 w HTML

Object Storage Arubacloud
0 głosów
576 wizyt
pytanie zadane 20 kwietnia 2022 w HTML i CSS przez PolskiArrow Nowicjusz (120 p.)

Witam. Chciałem zautomatyzować zmianę zawartości mojej strony internetowej za pomocą programu w C. Mowa tu o zautomatyzowanym nadpisywaniu pliku HTML za pomocą aplikacji konsolowej. Ponieważ na stronie www znajdują się polskie znaki, a konsola Windows obsługuje kodowanie cp852, postanowiłem, że zmienię kodowanie w pliku HTML również na odpowiednik cp852, czyli Latin2, lub iso-8859-2 (oba nie działają).

<meta charset="Latin2" />
<meta charset="iso-8859-2" />

Plik HTML edytuję w środowisku Notepad++. Enkodowanie w środowisku również ustawione mam na OEM 852 (czyli cp852, Latin-2).

W pliku HTML mam tekst z polskimi znakami - program C również bez problemu je czyta i zapisuje. Po nadpisaniu przez niego pliku HTML polskie znaki w Notepadzie wyświetlają się poprawnie, ale kiedy odpalę to w przeglądarce, to zamiast polskich znaków, wyświetlają się jakieś dziwne krzaczki np. , †, zamiast 'ż' jest 'ž'.

Czemu to nie wyświetla polskich znaków?

Co mam wpisać w charset="...", aby uzyskać dokładnie ten sam zestaw znaków, co w cp852?

PS. Charset na UTF-8 nie wchodzi w grę bo program C za Chiny ludowe nie przeczyta polskich znaków wtedy, a te, które wpisze, również nie będą poprawnie wyświetlane na stronie, a nawet w pliku.

Z grubsza:

  • W konsoli zawartość pliku HTML wyświetla się poprawnie, z polskimi znakami.
  • Plik HTML w Notepadzie wyświetla się poprawnie, z polskimi znakami.
  • A w przeglądarce nie...
komentarz 20 kwietnia 2022 przez adrian17 Ekspert (344,860 p.)
edycja 20 kwietnia 2022 przez adrian17

Charset na UTF-8 nie wchodzi w grę

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta

charset (...)  value must be (...) "utf-8", because UTF-8 is the only valid encoding for HTML5 documents

Pytanie brzmi, dlaczego edytowanie... stron internetowych w C? stawiasz jako wyższy priorytet niż dominujący od lat standard kodowania tekstu i stron.

(Poza tym, C nie sypie się kompletnie z utf-8; gdy tekst jest po prostu wyciągany z pliku i wrzucany do innego, zwykłe ciągi bajtów jak najbardziej działają. Niektóre operacje jak szukanie substringa też. Trudniejsze, jak znajdowanie długości stringa lub konwersja upper/lowercase, faktycznie wymagają dedykowanej biblioteki jak ICU.)

komentarz 20 kwietnia 2022 przez adrian17 Ekspert (344,860 p.)
Więc dlaczego nie po prostu wyrzucić kompletnie ten tag, a te pliki przerobić 1 linią basha (iconv na unixach) lub 5-6 liniami Pythona. Albo jeśli strona jest jednym plikiem, to po prostu dwoma kliknięciami w edytorze tekstu.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 547 wizyt
+1 głos
1 odpowiedź 1,254 wizyt
pytanie zadane 14 marca 2019 w C# przez Marcin Rasta Pawłows Użytkownik (600 p.)
0 głosów
1 odpowiedź 645 wizyt
pytanie zadane 27 lipca 2017 w JavaScript przez Kondzio Mądrala (5,230 p.)

92,555 zapytań

141,400 odpowiedzi

319,537 komentarzy

61,938 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...