01053: Pagelist doesn't show words containing accentuated letters in alphabetical order

Summary: Pagelist doesn't show words containing accentuated letters in alphabetical order
Created: 2008-10-26 06:56
Status: Closed - answered
Category: Bug
From: PB
Assigned:
Priority: 3
Version: 2.1.27
OS: Linux / Apache 2.2.X / PHP 5

Description: The pagelist function doesn't seem to handle alphabetical order correctly in the case of accentuated letters. It appears accentuated letters such as "à", "é", "è" or "è" are treated as if they were at the far end of the alphabet.

For example, (:pagelist:) lists pages titled "Bateau", "Bêtise" and "Brute" in the following order : 1) Bateau 2) Brute 3) Bêtise

Instead of the correct, alphabetical order : 1) Bateau 2) Bêtise 3) Brute

I believe it is caused by the fact that accentuated letters are represented by codes starting with "%".

Is there any way to fix this ? I may be wrong, but I suppose it would somehow require to temporarily replace accentuated letters by their unaccentuated counterparts so they can be correctly sorted by the pagelist function.

I've looked into Cookbook.ISO8859MakePageNamePatterns, but it seems uncompatible with Cookbook.AlternateNamingScheme, which I am already using. Besides, suppressing accents seems like a bit of a cop-out to me.

While I'm at it, I would be curious to know if there is any way to use apostrophes (« ' » ) in page names. For example, when I use the pagelist function, it returns "L enfant" instead of "L'enfant".

Thanks for your help and sorry for my bad English.

Look at this recipe in the mailing list: pagelist sort - accented characters. --Petko July 07, 2009, at 08:20 PM