manual rendering s encoding ISO-8859–2 zlobí
- Petr Tvaroha
- Člen | 25
Zdravím,
mám takový problém. Když nastavím <?php $form->setEncoding(‚ISO-8859–2‘); ?> a dám pak <?php echo $form; ?>, tak se formulář vykreslí dobře i s default values ve správném kódování.
Když ale použiji <?php echo $form[‚pole‘]->control; ?>, tak se mi hodnota prvku zobrazí jako „rozsypaný čaj“.
Mohu to nějak ovlivnit? V současném stavu to pro mě znamená, že nemohu používat manuální rendering, neboť nechci měnit kódování stránky.
Předem díky za odpověď.
Nette 0.9.3 revision 2ce0ca6 released on 2010–02–02
- Mikulas Dite
- Člen | 756
Zkontroluj si kódování těch zdrojáků. Pokud neukládáš všechno jako utf-8, tak ti to může kolidovat s encodingem stránky.
- Petr Tvaroha
- Člen | 25
Takže vyřešit se to dá takto:
<?php
echo mb_convert_encoding($form['pole']->control, 'HTML-ENTITIES', 'UTF-8');
?>
Je to v podstatě to, co se provádí v metodě Form::render(), když chceme vykreslit celý formulář najednou.
Editoval Petr Tvaroha (16. 2. 2011 10:24)