[php-src] Issue #11620: Php8.3 Windows Adds RLM for At Least One NumberFormatter Currency
| From: | oleibman | Date: | Fri, 07 Jul 2023 15:16:56 +0000 |
| Subject: | [php-src] Issue #11620: Php8.3 Windows Adds RLM for At Least One NumberFormatter Currency | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-244903@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/11620
Author: oleibman
### Description
My apologies if this is the wrong forum for reporting a problem in nightly builds. I do not see an
alternative.
The following code:
```php
<?php
$locale = 'ar-BH';
$fmt = new \NumberFormatter($locale, \NumberFormatter::CURRENCY);
echo 'PHP_VERSION is ', PHP_VERSION, ' format is ',
bin2hex($fmt->getPattern()), "\n";
```
Resulted in this output (only on Windows using Php 8.3):
```
PHP_VERSION is 8.3.0-dev format is e2808f232c2323302e303030c2a0c2a4
```
The 3 bytes at the beginning (e2808f) are the UTF-8 representation of RLM (right-to-left mark).
But I expected this output instead (8.0/8.1/8.2 on Windows and 8.0/8.1/8.2/8.3 on Linux):
```
PHP_VERSION is 8.2.5 format is 232c2323302e303030c2a0c2a4
```
Same as above, but without RLM.
Is this change in behavior intentional for Windows? Is there a reason why Windows and Linux
aren't giving the same result?
### PHP Version
PHP 8.3.0-dev
### Operating System
Windows 10 and 11