Ako na UTF8 default encoding v TYPO3
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ť?
- Úprava collation tabuliek na utf8
- Presvedčiť TYPO3 backend(BE) na utf8
- Uprvaviť výslednu stránku aby používvala utf8
- Ú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