Change the FIXME to the other way.
authorPlatonides <platonides@users.mediawiki.org>
Fri, 8 Oct 2010 22:51:03 +0000 (22:51 +0000)
committerPlatonides <platonides@users.mediawiki.org>
Fri, 8 Oct 2010 22:51:03 +0000 (22:51 +0000)
The issue is, php strtolower() calls tolower(3), which is locale sensitive.
Eg. LC_ALL='pt_BR.ISO-8859-1' php -r'echo strtolower("ÉÁÇÚÍ");'

Adding a call to setlocale(LC_ALL,'C'); in Setup.php may be a good idea.

includes/parser/Parser.php

index 5e8a5c2..c9bc05c 100644 (file)
@@ -3895,9 +3895,10 @@ class Parser {
                                        'noninitial' );
                        }
 
-                       # HTML names must be case-insensitively unique (bug 10721).  FIXME:
-                       # Does this apply to Unicode characters?  Because we aren't
-                       # handling those here.
+                       # HTML names must be case-insensitively unique (bug 10721). 
+                       # This does not apply to Unicode characters per 
+                       # http://dev.w3.org/html5/spec/infrastructure.html#case-sensitivity-and-string-comparison
+                       # FIXME: We may be changing them depending on the current locale.
                        $arrayKey = strtolower( $safeHeadline );
                        if ( $legacyHeadline === false ) {
                                $legacyArrayKey = false;