[TYPO3-core] RFC: #12613: Wrong character encoding in cache tables breaks frontend rendering

Oliver Hader oliver at typo3.org
Wed Nov 25 12:23:14 CET 2009


Hi Steffen,

I'd say commit it to SVN Trunk since we're close to RC2 and need this
blocker fixed.

olly


Oliver Hader schrieb:
> Hi Steffen,
> 
> Steffen Kamper schrieb:
>> Hi,
>>
>> This is SVN patch request.
>>
>> Type: Bugfix
>>
>> Branches: trunk
>>
>> BT reference: http://bugs.typo3.org/view.php?id=12613
>>
>> Problem:
>> There are several issues where cache data makes problems, eg if
>> renderCharset != metaCharset. Then it happens if the cache data has
>> special char like an Umlaut, the returned data is corrupted.
>>
>> Reason is that cache-table use field TEXT for serialized arrays,
>> therfore MySQL respect the charset.
>>
>> Solution: use BLOB instead
>>
>> Additional (comment from Masi)
>> In cache_pages the field HTML stores the complete page. Yet this must be
>> also a BLOB since Mysql (and other DBs) take it ill if the sent data is
>> not in the charset of the column.
>>
>> To be precise: if you have the DB in utf-8 the content will be truncated
>> at the first byte that is invalid in utf8.
>>
>> This also solves #12549 - No typoscript template found
> 
> The caching framework changes don't required changes since the content
> to be cached is serialized again before writing to the database what
> works around the problem we have here.
> 
> Concerning the cache_pages.HTML field, I confirm and agree that it has
> to be a BLOB type as well.
> 
> Find attached a modified patch that does not change the caching
> framework tables anymore.
> 
> When committing these changes, please use the new summary of this issue:
> "Wrong character encoding in cache tables breaks frontend rendering"
> 
> +1 by reading and testing
> 
> olly
-- 
Oliver Hader
TYPO3 Release Manager 4.3


More information about the TYPO3-team-core mailing list