[TYPO3-english] indexed_search in a Latin1/UTF-8 Environment
Michael Michalowski
m.michalowski at hottgenroth.de
Tue Oct 13 12:09:38 CEST 2009
hi!
I have a typo3 project where the database is latin1 (ISO-8859-1) encoded and the frontend output is printed with meta charset utf-8. Everything is running fine except indexed_search (which splits search words at german umlauts an garbles them).
So I tried to convert the system to real UTF-8 but failed. At first I tried to fix it with the extension convert2utf8 and backend charset settings to utf-8 (which resulted in rubbish at several places), then I tried to convert the database into utf-8 (which seemed to be fine, but failed for templavoilá data structures and serialized flex form contents).
Because the project is nearly online I decided that the latin1 backend is ok and looked for the problem with indexed_search. I found out that the search terms are delivered as latin1 to the plugin which expects utf-8 contents. So I changed one line in class.tx_indexedsearch.php (at line 435):
$inSW = substr($this->piVars['sword'],0,200);
to
$inSW = substr(iconv($GLOBALS['TSFE']->defaultCharSet, 'UTF-8', $this->piVars['sword']),0,200);
So, my question is the following:
Is there any cleaner way to get index_search running in a latin1/utf-8 scenario? Why are the search terms passed as latin1 to the extension (search form page is utf-8!)?
My goal is to find a solution which will survive my next typo update... ;)
Thanks for your thoughts.
best regards,
Michael
More information about the TYPO3-english
mailing list