Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [kodowanie] Funkcja konwertujaca przestala dzialac
czerpakzmiedzi
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.10.2009

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


Zawsze używałem tego:
Kod
$tekst ="Żłów jest żółtyżźąś";

$tekst = strtr($tekst,"ĄĆĘŁŃÓŚŻŹąćęłńóśżź","ACELNOSZZacelnoszz");

echo $tekst;//Wynik: Zolw jest zolty


A dzis patrze a tu zamiast liter bez ogonkow widzę kwadraciki z pytajnikami. Może to wina zmiany kodowania z ISO-((...)-2 na UTF-8?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A chociaż raczyłeś zerknąć jakich charsetów można z funkcjami strstr używać? I dlaczego nie bez powodu istnieją funkcje z przedrostkiem mb_ ?
Strstr operują na danych zapisywanych charsetami 1 bajtowymi.Polskie znaki rzekomo też takie są, ale tylko częściowo. Pewne znaki są bowiem zapisywane nie na 1 ale na 2(!) bajtach i dlatego są problemy. Dlatego też na wyjściu strstr masz ascii. Użyj wersji z mb_ (jest na niestety wolniejsza, ale coś za coś), czyli mb_strstr zamiast strstr użyj.
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: 27.12.2025 - 22:17