Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne]Zmiana kodowania znaków
Forum PHP.pl > Forum > Przedszkole
d.stp
Mam stronę na której są wczytywane pliki .txt, które zawierają jakiś tekst + html. Wszystkie pliki są zapisane w złym kodowaniu i przez to nie ma polskich znaków. Dla testów zmieniłem kodowanie pliku na utf-8 bez bom i problem zniknął, ale tam jest ponad 50 plików z min. 50 linijkami tekstu i nie wyobrażam sobie ręcznie to poprawiać. W plikach są już skopane znaki

Jest jakaś funkcja w php albo konwerter, który mi to automatycznie zamieni dziwne znaki na polskie + zmieni kodowanie pliku?

z góry dzięki za odp
darko
może np. tak (moje, ale nie testowałem czy działa):
  1. $path = 'c:\\xampp\\htdocs\\robocze';
  2. $counter = 0;
  3. $changedCounter = 0;
  4. $it = new RecursiveDirectoryIterator($path);
  5. foreach(new RecursiveIteratorIterator($it) as $file)
  6. {
  7. if(is_file($file))
  8. {
  9. $dat = file_get_contents($file);
  10. $encoding = mb_detect_encoding($dat);
  11. if($encoding != 'UTF-8')
  12. {
  13. file_put_contents($file, utf8_encode($dat));
  14. $changedCounter++;
  15. }
  16. $counter++;
  17. }
  18. }
  19.  
  20. echo $counter . ' files found, ' . $changedCounter . ' affected';
L00zak
  1. $text=iconv('utf-8','iso-8859-2',$text);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.