Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zapis do pliku txt, a krzaczki
Forum PHP.pl > Forum > Przedszkole
Szunaj85
Zrobiłem sobie skrypt który zapisuje mi zmienne $zmienne do pliku txt poprzez fopen, fwrite, fclose.
Wiem, że istnieje nowsze rozwiązanie - funkcja file_put_contents, ale na razie sobie to darowałem.
Jest jednak problem ponieważ jeśli w zmiennej znajdują się litery typu ą, ć, ę, ł, ń, ó, ś itd zapisuje mi krzaczki.
Jak wykonać skrypt który zmieni mi krzaczki na normalne polskie znaki przed zapisaniem do pliku txt?
I nie chodzi tutaj o zmianę kodowania, ale zamianę krzaczków na odpowiednie litery.
Szukałem w internecie, kombinowałem, ale nic mi nie wyszło. sadsmiley02.gif
Mam taki kod: (Nie wpisałem krzaków bo forum źle wyświetla)
  1. <?php
  2. $krzaki = array('a', 'c', 'e');//itd
  3. $zamien = array('ą', 'ć', 'ę');//itd
  4. $zmienne = str_replace($krzaki, $zamien, $zmienne);
  5. ?>
Ale nie zamienia sadsmiley02.gif
gebp
A sprawdzałeś czy napeno z tym Kodowaniem jest OK.

Ja u siebie mam stronę w UTF-8. I oczywiście przy zapisie do pliku są krzaczki. Tzn. jeżeli podglądniesz go w notatniku. No i tu pies pogrzebany. Jeżeli w tym samym notatniku zmienisz kodowanie na odpowiednie to krzaczki przesają być krzaczkami.
Reasumując.
Jeżeli plik zapisany w np. UTF-8, został poprawnie odczytany w jakimś programie np. notatniku trzeba ustawić odpowiednie kodowanie.

Jeżeli chcesz zapisać plik który będzie można odczytać np w notatniku Windows'a to przyda Ci się funkcja iconv.
Szunaj85
Pokrótce pisząc mam na stronie kodowanie "ISO-8859-2".
I co chcę zrobić?
Mając zmienną $zmienne (w tej zmiennej jest kilka wyrazów i inne zmienne) chcę zamienić kodowanie na odpowiadające plikowi txt (przekonwertować), a następnie zmienną $zmienne zapisać do pliku txt tak aby nie było w nim krzaków gdy go otworzę.
Nie jestem pewien jakie kodowanie ma notatnik systemowy, ale wydaje mi się, że "CP1250".
A poniżej kod:
  1. <?php
  2. iconv("ISO-8859-2", "CP1250", "$zmienne");
  3. ?>

Problem nie stwarza ta funkcja, ale zapis do pliku po przekonwertowaniu.
Dobra poradziłem sobie, dzięki
benusso
To dobrze że poradziłeś sobie, a możesz napisać jak ?

Pzdr.
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.