Autor Zpráva
sophon
Profil *
Nevíte někdo jaké používá kódování imagestring funkce?
utf8 ani windows-1250 ci cp1250 mi to proste nechce vzit
Alphard
Profil
latin2 tedy iso-8859-2
sophon
Profil *
jde mi o to ze nejakej text ulozim do databaze...ze stranek ktery sou kodovany v utf8 a ten pak zapisuju do obrazku....bohužel pri nějakým slově s diakritikou to nehází správnej znak...a tak bych potřeboval vědět v čem se koduje imagestring() abych to moh prekonvertovat
sophon
Profil *
aha...promin nejak sem nepochopil ze to je odpoved
sophon
Profil *
i tak mi to ale porad nejede...s tim latin2
imploder
Profil
Jednou jsem na zdejší diskuzi problém s diakritikou v knihovně GD řešil a vyšlo mi, že kóduje UTF-8. Ten odkaz už nefunguje, ale zobrazilo to správně "š" když to dostalo jeho kód v UTF-8 - ten je: C5A1
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=3&topic=93216
Tak nevím, nedá se to třeba nějak nastavit? V západním kódování (iso-8859-2) totiž háčky nejsou.
Alphard
Profil
Viz manuál
Font: Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with imageloadfont().
Z toho plyne, že použitý font musí obsahovat znaky s diakritikou.

imploder:
Nevím, ještě jsem do obrázků diakritiku nevkládal, vycházím z manuálu. Iso-8859-2 není západíní, ale středoevropské kódování a háčky v něm jsou.
imploder
Profil
Alphard
Iso-8859-2 není západíní, ale středoevropské kódování a háčky v něm jsou.
Aha, popletl jsem to, iso-8859-2 je samozřejmě středoevropské, západní je iso-8859-1 (latin1). Tam jak jsem s tím experimentoval (taky jsem to nepotřeboval, jenom jsem s tím zkoušel pomoct tomu člověku) to ale bralo jako písmena s diakritikou dvoubajtové kódy, které odpovídaly utf-8.
imploder
Profil
sophon
Funkce imagestring opravdu zobrazuje text v kódování iso-8859-2, tedy v tom "našem". V GD je ale i jiná funkce, která zobrazí text v utf-8: imagettftext

Pro inspiraci, tenhle skript po vložení souboru Arial.ttf do stejného adresáře správně vytvoří černý obrázek 640x480 se zeleným textem "něco ěščřžýáíé".
<?php
header("Content-type: image/png");
$img = ImageCreateTrueColor(640, 480);
$barva_textu = ImageColorAllocate($img, 0, 241, 32);
putenv('GDFONTPATH=' . realpath('.'));
imagettftext($img, 30, 0, 100, 200, $barva_textu, "Arial", "něco ěščřžýáíé");
imagepng($img);
imagedestroy($img);
?>

ukázka EDIT: no tak ta ukázka na wz.cz nefunguje, ale na localhostu mi to normálně obrázek vytvoří, nevím v čem je problém

článek na toto téma: http://interval.cz/clanky/cestina-v-graficke-knihovne-gd/

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: