Ako na UTF8 default encoding v TYPO3

tomaj on March 18th, 2007

Takže toto je môj prvý hádam aj serióznejší článok. Je to len také jednoduché HOW-TO ako upraviť TYPO3 tak aby používalo štandartne utf8 kódovanie, či úž vo výslednej stránke, ale aj v backende.

V podstate nejde o žiadnu prevratnú modifikáciu, je to celkom jednoduché. Avšak na to aby to všetko fungovalo budeme potrebovať MySQL aspoň od verzie 5, pretože budeme potrebovať nastaviť collation tabuľkám a fieldom. A taktiež by bolo vhodné použiť PHP tiež od verzie 5 so zapnutou iconv.

Čo treba spraviť?

  1. Úprava collation tabuliek na utf8
  2. Presvedčiť TYPO3 backend(BE) na utf8
  3. Uprvaviť výslednu stránku aby používvala utf8
  4. Úpravy súborov s textami

Úprava collation tabuliek na utf8

V tomto momente je dôležité kedy sa rozhodneme konvertovať. Najjednoduchšia situácie je keď ideme stránku práve vytvárať, takže nám stačí vytvoriť databázu a nastaviť jej collation na ‘utf8_general_ci‘. To nám zabečí že všetky textové fieldy ktore vytvorý 123 TYPO3 install tool budú používať tiež collation utf8_general_ci. V prípade, že už máme databázu a vytvorené tabuľky je situácia zložitejšia. Ak tam zatiaľ nie sú žiadne dáta , tak stačí spustiť skript na skonvertovanie collation tabuliek a fieldov. V prípade, že tam už sú nejaké dáta o ktoré nexeme prísť je situácia zložitá, nie však neriešiteľná. Moj postup v tejto sitácií je nasledovná. Dumpnúť databázu, skonvertovať súbor na utf8 a prekovnertovať escapnuté znaky a znovu naiportovať databázu.

Presvedčiť TYPO3 backend(BE) na utf8

Tu je situácia pomerne jednoduchšia. Stačí do súboru ‘typo3conf/localconf.php‘ dopísať nasledovné riadky:

$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
$TYPO3_CONF_VARS['SYS']['t3lib_cs_convMethod'] = 'iconv';
$TYPO3_CONF_VARS['SYS']['t3lib_cs_utils'] = 'iconv';
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;';

Uprvaviť výslednu stránku aby používala utf8

Ďalší krok je dôležitý, aby sa vo výslednej stránke objavila v hlavičke informácia, že naša strnka je kódovana v utf8. Stačí do šabloný v ktorej je vytvorený objekt page dopísať tieto nastavenia:

page.config.metaCharset = utf-8
page.config.renderCharset = utf-8

Úpravy súborov s textami

Na to aby všetko fungovalo tip-top je dôležité mať aj všetky súbory, kde sa objavujú nejaké texty ktoré sa zobrazujú na stránkach kódované v utf8. Na to už každý môže použiť čo je mu bližšie. Najvhodnejši je písať skripty v nejakom editore ktorý to priamo podrpouje. Obzlášť je dôležité mať lokalizačné súbory takto uložené. Po tomto ktoku by všetko malo fungovať ako má. Nezabudnite zmazať všetku cache a refreshnúť stránku a backend.

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>