Bug #77375 [Opn]: mb_strtolower carries accents to next character

From: Date: Sun, 30 Dec 2018 16:41:26 +0000
Subject: Bug #77375 [Opn]: mb_strtolower carries accents to next character
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-218688@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=77375&edit=1 ID: 77375 Updated by: nikic@php.net Reported by: sjon at hortensius dot net Summary: mb_strtolower carries accents to next character Status: Open Type: Bug Package: mbstring related Operating System: archlinux PHP Version: 7.3.0 Block user comment: N Private report: N New Comment: We're following what Unicode specifies here. Excerpt from SpecialCasing: # Preserve canonical equivalence for I with dot. Turkic is handled below. 0130; 0069 0307; 0130; 0130; # LATIN CAPITAL LETTER I WITH DOT ABOVE 0069 0307 is an "i" followed by "combining dot above". The fact that the dot is rendered over the next character seems like a bug, as combining marks generally apply to the previous character. Not sure what to do here, I can definitely see how the current behavior is unwanted if you're working with Turkish text and I'm not sure why it's specified to behave the way it does. Previous Comments: ------------------------------------------------------------------------ [2018-12-30 16:21:43] sjon at hortensius dot net Description: ------------ I found this while going through https://3v4l.org/bughunt/7.3.0/7.2.13+7.2.12 it seems special characters are carried over to the next character when using mb_strtolower Test script: --------------- See https://3v4l.org/7pP2v and the scripts that it's based on echo mb_strtolower("MOZAİK"); Expected result: ---------------- mozaik Actual result: -------------- mozai̇k ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=77375&edit=1

« previous php.bugs (#218688) next »