Похоже, что serialize уже заботится об этом. По крайней мере, у меня всё заработало и все страницы отображаются без ошибок. Так это наверное не ошибка TYPO3, а ошибка PHP, точнее функции mysql_real_escape_string().
Другое, более правильное, решение, наверное, было бы кодировать строку во что-нибудь, где нет кавычек и апострофов, например с помощью функций base64_encode/base64_decode:
Поменял строчки в class.t3lib_tstemplate.php:
PHP код:
$this->setup = base64_decode(unserialize($setupData)); // Artyom Lukanin added: base64_decode()
и
PHP код:
t3lib_pageSelect::storeHash($hash, base64_encode(serialize($this->setup)), 'TS TEMPLATE'); // Artyom Lukanin added: base64_encode()
Проверено, мин нет