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

cp852 / OEM 852 w HTML

Hosting forpsi easy 1 pln
0 głosów
467 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 (336,700 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 (336,700 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ź 392 wizyt
+1 głos
1 odpowiedź 1,128 wizyt
pytanie zadane 14 marca 2019 w C# przez Marcin Rasta Pawłows Użytkownik (600 p.)
0 głosów
1 odpowiedź 625 wizyt
pytanie zadane 27 lipca 2017 w JavaScript przez Kondzio Mądrala (5,230 p.)

92,092 zapytań

140,751 odpowiedzi

317,718 komentarzy

61,409 pasjonatów

Advent of Code 2023

Top 15 użytkowników

  1. 0p. - adrian17
  2. 0p. - wizarddos
  3. 0p. - Dewidos
  4. 0p. - Marcin Jasiński
  5. 0p. - Mateusz Sobala
  6. 0p. - Mateusz
  7. 0p. - NOONE
  8. 0p. - Adam Śpiewak
  9. 0p. - WhiskeyTaster
  10. 0p. - Rafał Budzis
  11. 0p. - Krzysztof Zawadka
  12. 0p. - tokox
  13. 0p. - TheLukaszNs
  14. 0p. - mjavor
  15. 0p. - Jakub Stępień
Szczegóły i pełne wyniki

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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia w koszyku, uzyskując rabat aż -50% (jeszcze tylko dziś 30.11 z okazji Black Week, a potem będzie to 30%) na bilety w wersji "Standard"! Więcej informacji na temat akademii znajdziecie tutaj. Dziękujemy Sekurakowi za tak fajną zniżkę dla 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 15% 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!

...