Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Zapis do pliku txt, a krzaczki
Szunaj85
post 22.01.2009, 17:10:44
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

Ostrzeżenie: (0%)
-----


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

Ten post edytował Szunaj85 22.01.2009, 18:28:21


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
gebp
post 22.01.2009, 18:29:41
Post #2





Grupa: Zarejestrowani
Postów: 180
Pomógł: 6
Dołączył: 10.04.2006

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Szunaj85
post 22.01.2009, 19:12:26
Post #3





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

Ostrzeżenie: (0%)
-----


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

Ten post edytował Szunaj85 22.01.2009, 19:45:23


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
benusso
post 26.03.2009, 16:14:49
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 5.03.2006

Ostrzeżenie: (0%)
-----


To dobrze że poradziłeś sobie, a możesz napisać jak ?

Pzdr.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 21.05.2025 - 08:54