http://www.mysql.com/doc/en/Charset-we-sets.html shows the rules for the DIN-1 German collation: # latin1_german1_ci (dictionary) rules: `Ä' = `A', `Ö' = `O', `Ü' = `U', `ß' = `s' This is not correct. That rules should look like this: `Ä' = `A', `Ö' = `O', `Ü' = `U', `ß' = `ss' According to Bar, changing that rule to be correct would imply a slower performance on sorting operations (roughly half as fast). Bar suggested to ADD a German collation that implements the correct rules, thus giving users the choice of using a fast "nearly correct" collation, and a slow "100% correct" collation. Some further remarks: (1) The collation described here (accented characters = unaccented equivalents except that ß = ss) is acceptable for English people, and is what SQL Server uses for "latin_general_ci_as" collation. (2) For latin1_german2_ci we already are correct, there is no complaint. (3) Oracle also treats ß = s for nls_sort=german, but that's an old flaw. Oracle treats ß = ss for nls_sort=xgerman and nls_sort=xgerman_din. Note added by Peter Gulutzan 2007-05-07: Since this WL is about ß, I'm adding a reminder note here. There is a proposal that UPPER('ß') should be 'SS', after conversation between Bar and Peter and Susanne in thread "Re: ß again".