Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Operacje na stringu a kodowanie
Altrix
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.10.2010

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


Dziwna sprawa. Mam tekst w którym chce pozamieniać znaki szyfrem Cezara (czyli zamienić znak na 3 po nim w przygotowanej liście znaków).

Kodowanie UTF (plik też zapisany jako UTF)
  1. <?php
  2. $tekst = "Dzisiaj żółw nie wychodził z domku!";
  3.  
  4. $alfabet = " !\"#$%&'()*+,-./0123456789:;<=>?@";
  5. $alfabet.= "AaĄąBbCcĆćDdEeĘęFfGgHhIiJjKkLlŁłMmNnŃńOoÓó";
  6. $alfabet.= "PpQqRrSsŚśTtUuVvWwXxYyZzŹźŻż[\]^_`{|}~";
  7.  
  8. for ($i=0;$i<strlen($tekst);$i++) {
  9. $szyfr .= $alfabet[(strpos($alfabet, $tekst[$i])+3) % strlen($alfabet)];
  10. }
  11.  
  12. echo $szyfr;
  13. ?>

Po wykonaniu powinien wyswietlić sie tekst ale z pozamienianymi znakami (przesunięcie o 3). Niestety wyświetlają sie krzaki przy polskich fontach.

Czy ktoś może wie czemu te operacje powodują zmianę kodowania?
Czy ktoś wie jak można naprawić skrypt by prawidłowo działał?

Ten post edytował Altrix 27.04.2012, 13:14:31
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 25.08.2025 - 14:48