Typo3 Bednarik.org

Typo3 4.0 s MySQL 4.1+

V čem je problém

MySQL má ve svých nejnovějších verzích - tzn. 4.1 a výše - implementovanou novou vlastnost a to podporu různých znakových sad.

Je tedy potřeba patřičně upravit všechny skripty a programy, které pracují s takovouto databází. Zde narážíme na problém, kdy logicky nemůže být "program" (v případě Typo3 spíše sada skriptů) optimalizován pro obě varianty. Tím mám na mysli variantu MySQL s podporou znakových sad a bez.

Je tedy potřeba podniknou určité kroky v případě, že naše databáze je vyšší verze.

Další text bude popisovat postup v případě použití znakové sady utf-8. Pro jiné bude postup stejný, pouze se patřičně nahradí utf-8 za jinou.

Přichystání databáze

Při instalaci si Typo3 automaticky vytváří tabulky a může si i automaticky vytvořit databázi.

Je velmi podstatné, aby celá databáze i všechny její tabulky měly nastavéné kódování utf-8 a porovnávání utf8_general_ci.

Pokud to tak není, je asi nejjednodušší cesta:

  1. Udělat export celé databáze
  2. Všechny tabulky smazat
  3. Zkontrolovat, že je databáze nastavená na utf-8.
  4. Upravit exportovaný soubor tak, aby neobsahoval žádné definice nastavení charsetu (nejlépe nahrazením řetězce ve vašem oblíbeném editoru)
  5. Naimportovat databázi zpět

Všechny tabulky by teď měly být v požadovaném kódování.

Nastavení Typo3

Nyní je potřeba zajistit, aby Typo3 komunikovalo s databází v kódování utf-8.

Pro jistotu by bylo vhodné nastavit v konfiguraci parametr forceCharset na utf-8 (i když by to nemuselo být nutné). Tím zajistíme, že celé prostředí Typo3 bude v utf-8.

Aby i PHP komunikovalo s MySQL v utf-8, musíme po vytvoření spojení na databázi nastavit komunikaci v tomto charsetu. V dřívějších verzích Typo3 se toto muselo natvrdo zadat do zdrojového kódu třídy class.t3lib_db.php. Ve verzi 4.0 stačí opět v kofiguraci nastavit parametr (položku) setDBInit na tuto hodnotu:

SET NAMES utf8
SET CHARACTER SET utf8
SET character_set_results=utf8
SET character_set_connection=utf8
SET character_set_client=utf8

Dle různých návodu na internetu by měly stačit první dva řádky, ale mně se ověril tento postup.

 

You can support development of CoolUri extension (or anything else) by donation.

 
XLINE hosting + Typo3 = ideální kombinace