Use multibyte substring

Fixes #7661

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
Roeland Jago Douma 2018-04-05 22:26:38 +02:00 committed by Morris Jobke
parent f7d6eb9ab6
commit 5c6f916009
No known key found for this signature in database
GPG Key ID: FE03C3A163FEDE68
1 changed files with 2 additions and 2 deletions

View File

@ -2029,7 +2029,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
if (!$this->db->supports4ByteText()) { if (!$this->db->supports4ByteText()) {
$value = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $value); $value = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $value);
} }
$value = substr($value, 0, 254); $value = mb_substr($value, 0, 254);
$query->setParameter('name', $property->name); $query->setParameter('name', $property->name);
$query->setParameter('parameter', null); $query->setParameter('parameter', null);
@ -2047,7 +2047,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
if ($this->db->supports4ByteText()) { if ($this->db->supports4ByteText()) {
$value = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $value); $value = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $value);
} }
$value = substr($value, 0, 254); $value = mb_substr($value, 0, 254);
$query->setParameter('name', $property->name); $query->setParameter('name', $property->name);
$query->setParameter('parameter', substr($key, 0, 254)); $query->setParameter('parameter', substr($key, 0, 254));