Zmiana txt na html bez notatnika

0

Witam.
Mam następujący problem:
Mam text w RichTextBox. Ten tekst jest kodem HTML.
Mój program wpisuje go do pliku tekstowego, po czym kopiuje do tego samego folderu, tylko, że rozszerzenie zmienia się z txt na html. Wszystko spoko, jest strona, ale nie ma polskich znaków, mimo prawidłowego kodowania. W kodzie html są normalnie polskie znaki.

Jak mój program zastopuje na zapisaniu pliku na txt, a potem otworzę nowy powstały plik notatnikiem, dam "zapisz jako..." i zamiast *.txt wpiszę *.html, wszystko gra. A gdy wezmę ten plik txt, zmienię, tak po prostu, nazwę, to właśnie wtedy znikają polskie znaki.

Jakieś pomysły jak to zrobić?

Pozdro

0

Przy odczycie i zapisie musisz ustawić odpowiednie kodowanie.

0

Heh, nie w tym rzecz. Gdy wpiszę tekst do .txt wszystko gra, są polskie znaki.
Jednak, gdy będę próbował zmienić format, tak "na chama", na html, wtedy występują błędy.

Właściwie c# nie ma z tym nic wspólnego.

0

Błędy na poziomie kodowania pliku, czy błędy związane z niepoprawnym wyświetleniem w przeglądarce? Bo chyba wiesz, że plikowi HTML trzeba zdefiniować charset?

0

Mówię, że jest kodowanie windows-1250, wszystko jest ok, jeżeli zapiszę plik przez notatnik, a nie działa, gdy po prostu zmienię nazwę z *.txt na *.html.

Przeglądarka jest chyba dobra -.-

0

A błędy wyświetlają się w przeglądarce, po prostu zamiast polskich znaków są inne znaczki.

0

Spróbuję spytać jeszcze raz - czy kodowanie pliku jest zgodne z charsetem ustawionym w kodzie HTML?
Jak w programie wymuszasz zapis pliku w kodowaniu windows-1250?

0

Dobra. Napiszę w punktach:

  1. Wpisuję tekst z richTextBox do pliku txt
  2. W tym pliku są wszystkie znaki polskie
  3. Gdy:
    a) Otworzę plik notatnikiem i dam "zapisz jako...", jako nazwę dam zamiast *.txt *.html, wszystko gra, są normalnie polskie znaki.
    b) Prawy przycisk myszy - zmień nazwę i tak zmienię rozszerzenie na html, otworzona strona nie wyświetla polskich znaków.
    - Gdy otworze ten plik html notatnikiem, jest tam ładnie kodowanie charset windows-1250

Tak więc to zupełnie nie zależy od C#.

ŁF - skoro to takie banalne to może podasz rozwiązanie?

0

Ale w tym kodzie HTML masz na pewno ustawione kodowanie:

<meta http-equiv="Content-Type" content="text/html;charset=cośtam" >
0

A od kiedy stosuje się kodowanie windows-1250? Zmień na utf-8

0
Poskil300 napisał(a):

Dobra. Napiszę w punktach:

  1. Wpisuję tekst z richTextBox do pliku txt
  2. W tym pliku są wszystkie znaki polskie
  3. Gdy:
    a) Otworzę plik notatnikiem i dam "zapisz jako...", jako nazwę dam zamiast *.txt *.html, wszystko gra, są normalnie polskie znaki.
    b) Prawy przycisk myszy - zmień nazwę i tak zmienię rozszerzenie na html, otworzona strona nie wyświetla polskich znaków.
    - Gdy otworze ten plik html notatnikiem, jest tam ładnie kodowanie charset windows-1250

Tak więc to zupełnie nie zależy od C#.

  1. I po zapisie plik ma kodowanie UTF8.
  2. No to chyba jasne, notatnik bez problemu wyświetla UTF8.
    3 a) Notatnik domyślnie zapisuje pliki w kodowaniu windows-1250 (który zapewne jest ustawiony w charsecie HTML), więc wszystko gra.
    3 b) Zmiana rozszerzenia NIE powoduje zmiany kodowania (więc nie ma wcale windows-1250), więc tak przerobiony html się źle wyświetla.

Wnioski:

  1. To "zależy od C#", bo gdybyś zapisał od razu z poprawnym kodowaniem, to problemu z wyświetlaniem by nie było.
  2. To nie zależy od C#, lecz od Twojej oporności na wiedzę dotyczącą kodowania plików i HTML. Jak długo jeszcze będziesz się upierał przy swoim i sam sobie tworzył problemy?

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