[TYPO3-dev] MySQL First Letter and Umlauts

Stefan Geith typo3dev2007 at geithware.de
Fri Oct 26 12:27:46 CEST 2007


Steffen Kamper schrieb:
> Hi,
> 
> i need a tip for an alphabetic List in mySQL (all in utf8).
> 
> I did this (for drwiki)
> SELECT DISTINCT keyword,ASCII(UPPER(SUBSTRING(keyword,1,1))) letter FROM 
> `tx_drwiki_pages` ORDER BY letter
> 
> This works fine until the keyword starts with Umlaut, e.g. ÄÖÜ
> The strange is that Ä results in ASCII 195, but it is 196 ...
> 
> Now i thout to use replace for that chars like REPLACE(keyword,'Ä', 'Ae'), 
> but i need more than one replace, i don't know how to do that in one query.
> 
> If i change ORDER BY to keyword i get the wrong order (well known in utf8 
> with Umlauts)
> 
> Any suggestions?

I think, there is no solution :(

I spent days with research about this problem.
I asked this list, but no satisfying answers ...

The problem is, that Mysql is missing a function like
     CONVERT_TO_KOLLATION_EQUIVILANT(text)
that converts e.g. a to ae, o to oe etc.

The only way is to use a huge REPLACE()-Construct :(

Stefan





More information about the TYPO3-dev mailing list