Typo3 (4.2.8), utf-8 encoding and caching

Recently, a weird problem occured in my current typo3 – project. The caching was configured properly (out of the box configuration) and all caching tables were written as they should – but with a very confusing behaviour: the whole page was generated completely new by typo3 on each page request, which caused high server load. The error was not caused by an overriden no_cache-value or one of the other usual suspects (USER_INT, config – directives). After spending days trying to find a fix for the problem, i finally found a solution:

The problem was the configuration of the typo3 – installation, which is set to use utf-8 in the database backend and frontend output. All databse tables were correctly set to utf-8 and the rendering of special chars worked liked a charm – but there seemed to be a missmatch in rendering the page content and generating the cache content. Because of this missmatch, the pages were correctly saved in the table page_cache, but the entry was renewed on every page request. To solve this problem, you have to set the value of the [setDBinit] directive as followed when using utf-8 (either in the typo3 install tool or via localconf.php):


[setDBinit]
SET character_set_client = utf8
SET character_set_results = utf8
SET character_set_connection = utf8


Normally, the value SET NAMES = utf8 should do the trick, but that didn’t work for me. After setting this value and clearing up the whole system cache, your pages should be served from the cache.

For a complete tutorial how to configure typo3 to use utf-8 consistently, take a look at
http://www.typo3-media.com/blog/article/utf8-and-typo3-updated.html
(this tutorial still uses the “SET NAMES” directive, be sure to change it….)

Leave a Reply

Your email address will not be published. Required fields are marked *