Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Znaki ASCII a zamiana na normalne znaki
Forum PHP.pl > Forum > PHP
ones
Witam!
W bazie danych mysql mam znaki ascii np. &#347, który zapisuje się zamiast ś.
Na stronie kodowanie jest okey tylko coś nie śmiga w meta tagach.
Chciałem to zrobić przez str replace lecz się nie udało. Próbowałem:
  1. for ($i=127; $i<390; $i++) {
  2. $trans_array[$i] = "&#" . $i . ";";
  3. }
  4. $trans_array2 = array();
  5. for ($d=127; $d<390; $d++) {
  6. $trans_array2[$d] = chr($d);
  7. }

A następnie wywołanie z podstawieniem:
  1. $site_desc = str_replace($trans_array, $trans_array2, $settings['site_desc']);


Niestety to nie działa, jak zmusić skrypt aby zmienił znaki ASCII na polskie znaki?
erix
html_entity_decode?
ones
Również próbowałem i nie działa... Używałem ENT_QUOTES i UTF8 w funkcji.
erix
Pokaż, jak tego używałeś.
ones
$trans_array2[$d] = html_entity_decode($d, ENT_QUOTES, 'utf-8');

W tym wypadku wyświetlało mi zamiast znaków np. ż wyświetlało: 380 .

No tak. Zamiast znaków ascii wyświetliło się ż .
erix
Encje są oddzielone średnikami od pozostałych części tekstu?
ones
Nie, są normalnie w słowach. Sam zobacz my-mp.pl , na stronie jest okey, w meta tagach wszystko się psuje smile.gif
erix
to oddziel encje średnikami i spróbuj jeszcze raz. wink.gif
ones
Aaa są oddzielone średniakami, np.
&# kod ; , oczywiście bez spacji i bez przecinka.
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.