Currently there are some differences between the normalizations in Title.js and Title.php:
- Invalid characters: Title.js replaces [, ], and other invalid characters with _.
- Unicode control characters: Title.php removes some control characters, while Title.js leaves them in or replaces them with _.
- Whitespace normalization: Title.php normalizes a huge variety of whitespace (notably NBSP), while Title.js only treats _ the same as a blank.
- HTML entities: Title.php replaces HTML entities with the corresponding character.
- URL encoding: At some point %-encoded characters are resolved in PHP, at least they are possible in wikilinks.
mediawiki.Title.js should aim for consistency with the PHP version.
Version: 1.20.x
Severity: normal
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=45848