Use multibyte-aware truncation to avoid invalid UTF-8 in cl_sortkey_prefix
authorBartosz Dziewoński <matma.rex@gmail.com>
Mon, 30 Jul 2018 19:37:45 +0000 (21:37 +0200)
committerBartosz Dziewoński <matma.rex@gmail.com>
Mon, 30 Jul 2018 19:52:38 +0000 (21:52 +0200)
commit62f7cdc33169d8abf590e8e2f70c8ddf43aeec14
tree1f46ea54207b326839651e544ccb6218acefd07b
parent0b8c620818d680bdc6f2119f6494a25ca9f78132
Use multibyte-aware truncation to avoid invalid UTF-8 in cl_sortkey_prefix

The invalid UTF-8 could cause incorrect sorting of affected pages in
category lists on wikis using UCA collations. On my local testing
wiki, the generated cl_sortkey was just 0x30 regardless of the value
of cl_sortkey_prefix.

This doesn't fix existing bad data in the database. It will only be
updated when the affected page is edited (or null-edited).

The cl_timestamp field will also be updated when that happens, which
apparently may affect Wikinews' DynamicPageList extension, according
to comments on T27254. This is not easily avoidable.

Bug: T200623
Change-Id: I4baa9ea3c7f831ff3c9c51e6b8e5d66e7da42a91
includes/deferred/LinksUpdate.php