-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Description
Converting UTF-8 strings produces invalid characters, when a UTF-8 locale is set, otherwise they are just ignored, wich is fine.
<?php
$t = 'ö';
$c = strtolower($t);
print(implode(unpack("H*", $t)) . "\t" . implode(unpack("H*", $c)) . "\n");
?>
LC_ALL="C" php test.php
c3b6 c3b6
LC_ALL="en_US.UTF-8" php test.php
c3b6 e3b6
In this case, it "converts" an already lowercase character, but it's the same for uppercase Umlauts, Ö(c396) will end up as e396 instead of c3b6.
It works on Linux, i do not yet know if it's a problem in Illumos or PHP.
The mb_strtolower($keywords, 'UTF-8') way works however.
Tested with:
PHP 5.3.29 (cli) (built: Jan 29 2016 19:08:29)
PHP 7.0.27 (cli) (built: Apr 8 2018 20:20:23) ( NTS )
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels