Project

General

Profile

Actions

Feature #23039

closed

Better charset transformation by adding autodetection for [SYS][t3lib_cs_convMethod] and [SYS][t3lib_cs_utils]

Added by Ralle Büchnitz over 14 years ago. Updated about 11 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2010-06-29
Due date:
% Done:

0%

Estimated time:
PHP Version:
5.3
Tags:
Complexity:
Sprint Focus:

Description

I created a patch, wich does the following:

  • auto detection of charset transformation method (function_exists())
  • sequence of detection is "mbstring" -> "iconv" -> "recode" -> default
    (as on page http://wiki.typo3.org/index.php/UTF-8_support this would mean the best solution)
  • results should be faster conversion and better handling of utf8 values as most users won't set this option in installtool though most sites already use utf8

I also made 'auto' for both options the default option.
As the auto-value will be overwritten on first call. There is a minimal overhead while detecting the conversion method.

As mbstring-functions should be much faster than the fallback-methods, this would also bring (little) speed enhancement to TYPO3.

tested on php5.3 + apache + linux
(issue imported from #M14919)


Files

0014919 .diff (7.83 KB) 0014919 .diff Administrator Admin, 2010-06-29 15:33
Actions #1

Updated by Chris topher over 14 years ago

Hi mister X,

please go to http://typo3.org/register and put your name to the field "name".

After that, you can post your patch as an RFC to the Core List!
Check out http://typo3.org/teams/core/core-mailinglist-rules

Actions #2

Updated by Ralle Büchnitz over 14 years ago

Hi Steffen,

my response to you question:
// * it modifies the value of $TYPO3_CONF_VARS settings // * it's called for every call of substr()

I intended overwriting the $TYPO3_CONF_VARS so that the detected version could be used in extensions too. (I' don't know if the variable will be used by any extension - so overwriting wouldn't break anything and it's also available over the whole system plus extensions - not only in this class)

Also overwriting definitely changes the auto value to some other at first run to something like 'mbstring', and detection will only trigger with value 'auto'. So detection should never be executed twice.

If this class is always used as an instance then the construction interceptor would do fine. (Don't know for sure)

What do you think about these possible solutions:
#1 Remove these two config options and always use autodetection. And if any problem occurs - use 4.5 beta? - fix problems and use therefore less config variables.

OR

#2 combine these settings into one - as autodetection would assign same value for two different variables - that's superfluous

OR

#3 detect server features within install-tool and recommnend - which is now mostly done in a static way using conf-files - I also have some more ideas about better out-of-box enhancements which could be done inside install tool. Beside the already changed skin and underlying scripts.

The only reason to override this behaviour - imho - is that default behaviour won't work and/or a better solution is available. Both issues could be solved and automated.

@steffen: patch worked - no problem occurred on my testing environment

So which solution would you prefer? Then I will work out another patch. Or do you have any better ideas?

Actions #3

Updated by Alexander Opitz about 11 years ago

  • Status changed from New to Needs Feedback
  • Target version deleted (0)

Hi,

as this issue is very old. Is this feature missing in newer versions of TYPO3 CMS (4.5 or 6.1)?

Actions #4

Updated by Ralle Büchnitz about 11 years ago

I think this is obsolete now. Most databases are converted to utf8 now and this ticket could be closed.

Actions #5

Updated by Alexander Opitz about 11 years ago

  • Status changed from Needs Feedback to Closed

Thanks for help.

Actions

Also available in: Atom PDF