Autor Zpráva
radas
Profil *
zdravím,
ve scriptu používam tuto funkci

$vypis = substr($zaznam,0,255);
echo wordwrap($vypis);
ono to funguje dobře ale někdy se stane misto posledního znaku že se vyskytne
černý kosočtverec s otazníkem, většinou tam pratří nějaké pismeno s hačkem, nebo
čarkou..proměnná zaznam je z databaze a před vypisem z db používam
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
tak samo mam nastavene kodovani souboru a db na utf8
a vůbec netuším proč se mi tam vyskytuje ten kosočtverec s otaznik...
Alphard
Profil
používej mb_substr()
kdyby tě zajímala příčina, tak stručně, znaky s diakritikou jsou v utf vedeny jako "dva znaky" (nepřesné, ale pochopitelné), když je rozsekneš, vznikne kdo ví co
Alphard
Profil
ještě dodám, že mysql má také funkci substr() a jestli v aplikaci nepotřebuješ celý text, bude lepší seknout to již v databázi (aby se zbytečně nevracela tuna dat)
radas
Profil *
a v te databazy by to vypadalo jak?jinak moc díky..
radas
Profil *
tak jsem to zkusil a žadna změna:(
Alphard
Profil
co jste zkusil?
kdyžtak ukázku kódu
radas
Profil *
$pocet=250;
$vypis = mb_substr($zaznam,0,$pocet);
echo wordwrap($vypis);
Alphard
Profil
zkuste ještě:
$vypis = mb_substr($zaznam, 0, $pocet, "UTF-8");


není to třeba cache? (F5) ... nenapadá mě jiná příčina

v dotazu by to bylo:
select substr(sloupec, 0, 250) from tabulka
radas
Profil *
jo vypada to že to funguje...v cache by to nemělo byt v hlavičce souboru mam
header("Expires:".GMDate("D, d M Y H:i:s")." GMT");
díky za pomoc
Alphard
Profil
radas
ještě mi prosím napiš, co teda pomohlo, doplnění 4. paramatru "UTF-8"? bez něho to nejde?
radas
Profil *
jo ten parametr UTF-8 asi to vyřešil...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: