Mi chodziło o wypowiedź @Piotrekdp.
Pliki html i txt są przecież niezależne, więc nie wiem po co dodawać do HTML tag z kodowaniem i liczyć, że w txt zadziała.
Wg tej idei wpisanie tagu w jednym pliku html powinno zmienić kodowanie w drugim o.O nonsens.
Jeżeli ustawianie kodowania w podany sposób przez php nie podziałało, to zawsze możesz w tym momencie podglądnąć nagłówki które serwer podaje po modyfikacji przez AddDefaultCharset i potem to powtórzyć w php. Ja nigdy nie przyglądałem się jak wyglądają nagłówki plików txt ze zmienionym kodowaniem. --- oczywiście to tylko dla dociekliwych (sam bym zajrzał, gdyby to był mój temat), bo jak działa podaną metodą to się martwić nie trzeba.
Oprócz ustawienia kodowania - sam plik także musi być zapisany w utf-8 :P Generalnie pliki mają swoje kodowanie, a tagiem tylko pomagasz rozpoznać, którego z nich używasz.
Jakich problemów - np. bez UTF-8 stworzenie strony obsługującej jednocześnie język niemiecki i rosyjski będzie utrudnione. W dodatku czasem jakieś biblioteki i podobne nie polubią się z określonymi kodowaniami - za to UTF-8 przyjmie w zasadzie każda (przykład: generowanie pdfów) - potem trzeba się bawić w iconv-em itd. W dodatku baza danych ma kodowanie osobno od strony - być może nawet w bazie używasz (o ile używasz) kodowania utf-8, być może nie. Ja jak szedłem do pierwszej roboty to tam też z uporem maniaka korzystali z ISO-8859-2, choć nie ma z tego żadnego pożytku. Ale bazy danych także były w tym. Potem import/eksport tego na różne serwery powodował problemy z polskimi znakami. Czasem krzaki, czasem kwadraty, czasem pytajniki - nie było reguły. Potem i tak przyszło robić stronę w 5 językach, więc się wkurzyłem i przerobiłem cały ich system na UTF-8 i od tego czasu programuje się dużo spokojniej ;)
edit: Sprawdziłem te nagłówki w pliku txt, musiałem ;)
array(9) {
[0]=>
string(15) "HTTP/1.1 200 OK"
[1]=>
string(35) "Date: Mon, 15 Oct 2012 19:00:14 GMT"
[2]=>
string(40) "Server: Apache/2.2.22 (Win32) PHP/5.3.14"
[3]=>
string(44) "Last-Modified: Mon, 15 Oct 2012 18:59:13 GMT"
[4]=>
string(39) "ETag: "1000000003b538-3e-4cc1da22b79de""
[5]=>
string(20) "Accept-Ranges: bytes"
[6]=>
string(18) "Content-Length: 62"
[7]=>
string(17) "Connection: close"
[8]=>
string(44) "Content-Type: text/plain; charset=iso-8859-2"
}
Jak widać - coś musiałeś pomieszać z tym Content-Type i kodowaniem w php, albo mnie nie zrozumiałeś o co mi chodzi. Mniejsza ;)