Fix truncation of Unicode string query parameters in Benchmark
authorTim Düsterhus <duesterhus@woltlab.com>
Fri, 14 Jul 2023 08:28:50 +0000 (10:28 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Fri, 14 Jul 2023 08:28:50 +0000 (10:28 +0200)
commit1866a696715ce82061087735e611873602ac6a0e
tree009bb5ad5f94f90af3093d9b4d20bf3e0b0c6727
parent06036fde64f603520e036dc302e43a5c8c70b492
Fix truncation of Unicode string query parameters in Benchmark

This needs to use `mb_substr()`, as we checked UTF-8 validity before to use
`UNHEX()` with binary strings. Previously UTF-8 sequences might've been cut
short and the resulting invalid sequence cannot be JSON encoded, as JSON
requires strings to be valid UTF-8.

see https://www.woltlab.com/community/thread/298853-schwer-reproduzierbar-fehlermeldungen-beim-importieren-von-sprachdateien/
wcfsetup/install/files/lib/system/database/statement/PreparedStatement.class.php