Autor Zpráva
patrezz
Profil *
Dobry den.

Na mojom webe www.extensa.biz som si urobil nadpisy noviniek cez gd kniznicu, aby to vyzeralo krajsie:P
Lenze, nejde diakritika :( ... teda idú znaky s dĺžňom, ale s mäkčeňom nie.

http://extensa.biz/vypis.php?idcko=íáýéú tieto idú...


Dik za vaše postrehy/rady/tipy&triky x)
Jonas Serych
Profil
mne teda vsechny nejruznejsi znaky funguji... ktere ti nejdou?
patrezz
Profil *
no vsetky znaky s mäkcenom nejdu

keby sme sa nerozumeli, napr.: č š ž ť ľ
Nox
Profil
Když to zadám z prohlížeče napevno, tak jede, ale když sem tu dal odkaz a klikl na něj, tak nic... urldecode? zkus tu dát kód
Edit: urldecode teda ne, přehlédl jsem The superglobals $_GET and $_REQUEST are already decoded. Using urldecode() on an element in $_GET or $_REQUEST could have unexpected and dangerous results.
patrezz
Profil *
<?php
$idcko=$_GET['idcko'];
$im = imagecreate (300, 36);
$bg_color = imagecolorallocate($im, 63, 63, 63);

$font_size = 24;
$font = './scrgunny.TTF';

$text_color = imagecolorallocate($im, 214, 128, 16);
imagettftext($im, $font_size, rand(0), 5, 30, $text_color, $font, $idcko);

imagecopy($im, 0, 0, 0, 0, 200, 50 );

header ("Content-type: image/png");
Imagepng($im);
ImageDestroy($im);


?>



:)
Plaváček
Profil
patrezz

A ten použitý font (scrgunny.ttf) skutečně obsahuje všechny znaky s diakritikou?
patrezz
Profil *
http://www.ceskefonty.cz/ceske-fonty/gunny-handwriting

ano, obsahuje .... :)
imploder
Profil
patrezz
Problém je v tom, jak prohlížeč kóduje písmena s diakritikou, která přidáš do URL. Ve Windowsu mi Opera (i když jsem zkusil jako výchozí kódování stránek nastavit něco jiného než windows-1250) i FF kódovaly znaky napsané do adresního řádku podle windows-1250 - tedy např. š se převedlo na ASCII 9A.
Teď jsem zkusil to samé v Linuxu a FF mi zakóduje š jako dva bajty, C5 a A1. Zkus tenhle odkaz, měl bys vidět íáýéúš: http://extensa.biz/vypis.php?idcko=%ED%E1%FD%E9%FA%C5%A1

Nejspíš je to UTF-8. Je teda potřeba zakódovat obsah proměnné v URL podle UTF-8, aby to knihovna GD správně zobrazila. Určitě toho docílíš, pokud na daný řetězec (třeba íáýéúš) zapsaný v souboru kódovaném v UTF-8 použiješ urlencode(). Stejně tak pokud ho budeš brát z formuláře na stránce kódované UTF-8. Pokud přímo napíšeš do stránky odkaz jako tady ( http://extensa.biz/vypis.php?idcko=íáýéúš ), tak asi taky záleží na kódování stránky jak prohlížeč ty znaky v URL převede, ale nezkoušel jsem to (DJPW má kódování iso-8859-2, takže by to mělo být podle něj ...asi).

doplnění: Takže jo, když kliknu na ten odkaz se š, převede se š na B9, což je š v iso-8859-2. Takže se opravdu použije kódování stránky, ve které odkaz je. Pokud napíšeš přiřazené znaků s diakritikou do proměnné přímo do adresního řádku prohlížeče, pak záleží na konkrétním prohlížeči, jak si s tím poradí. Možná se to dá někde nastavit.
imploder
Profil
http://extensa.biz/vypis.php?idcko=š

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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