[php-src] Issue #9956: Europe/Kyiv U_ILLEGAL_ARGUMENT_ERROR

From: Date: Tue, 15 Nov 2022 10:40:50 +0000
Subject: [php-src] Issue #9956: Europe/Kyiv U_ILLEGAL_ARGUMENT_ERROR
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-242824@lists.php.net to get a copy of this message
Issue: https://github.com/php/php-src/issues/9956 Author: Daijobou ### Description In PHP 8.1.4 timezone_identifiers_list() shows "Europe/**Kiev**", in PHP 8.1.12 its shows "Europe/**Kyiv**" but in IntlDateFormatter "Europe/Kyiv" is unknown. **Rename "Kiev" to "Kyiv" is a very bad decision, its break many database entries!** IntlDateFormatter still working with 'Europe/Kiev'. https://www.php.net/manual/de/timezones.europe.php shows "Europe/**Kyiv**" there are no hint that this was renamed. The following code: ```php <?php var_dump(timezone_identifiers_list()); //exit; $fmt = new IntlDateFormatter( 'en_US.utf8', IntlDateFormatter::NONE, IntlDateFormatter::NONE, 'Europe/Kyiv' ); ``` Resulted in this output: ``` // only use var_dump with PHP 8.1.4 // [336]=> string(11) "Europe/Kiev" [337]=> string(12) "Europe/Kirov" [338]=> string(13) "Europe/Lisbon" // only use var_dump with PHP 8.1.12 // [333]=> string(12) "Europe/Kirov" [334]=> string(11) "Europe/Kyiv" [335]=> string(13) "Europe/Lisbon" // PHP 8.1.12 its still working with "Europe/Kiev" datefmt_create: No such time zone: 'Europe/Kyiv': U_ILLEGAL_ARGUMENT_ERROR ``` But I expected this output instead: ``` No error AND no rename Kiev to Kyiv. ``` ### PHP Version PHP 8.1.12 ### Operating System AlmaLinux 8.7

« previous php.bugs (#242824) next »