小编use*_*883的帖子

在 PHP 8.2 和最新的 Alpine Linux 3.19 上使用 IntlDateFormatter 格式化日期时缺少阿拉伯数字

我正在尝试将我的 PHP 项目从 PHP 7.4 更新到 8.2。IntlDateFormatter我在使用类格式化日期时遇到问题ar_AE我在 PHP 8.2 Alpine 3.19 版本下使用区域在我之前的设置(PHP 7.4 Alpine 3.12)中,格式化日期返回整个阿拉伯字符字符串,但在 8.2 下,这种情况不会发生,在输出中我有阿拉伯字母,而不是数字。

\n

在工作期间,我发现 ICU 数据已在 Linux Alpine 3.16 中拆分( https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.16.0#ICU_data_spliticu-libs ),因此我已将和添加icu-data-full到 8.2 Dockerfile 中。这部分解决了我的问题,因为数字仍然没有显示在ar_AE区域设置中显示。

\n

PHP 7.4 的输出:

\n
/var/www $ php test.php\nar_AE: \xd8\xa7\xd9\x84\xd8\xb3\xd8\xa8\xd8\xaa\xd8\x8c \xd9\xa1 \xd9\x8a\xd9\x86\xd8\xa7\xd9\x8a\xd8\xb1 \xd9\xa2\xd9\xa0\xd9\xa2\xd9\xa2 \xd9\xa1\xd9\xa2:\xd9\xa5\xd9\xa9:\xd9\xa5\xd9\xa9 \xd8\xb5 \xd8\xaa\xd9\x88\xd9\x82\xd9\x8a\xd8\xaa \xd9\x88\xd8\xb3\xd8\xb7 \xd8\xa3\xd9\x88\xd8\xb1\xd9\x88\xd8\xa8\xd8\xa7 \xd8\xa7\xd9\x84\xd8\xb1\xd8\xb3\xd9\x85\xd9\x8a\nar_QA: \xd8\xa7\xd9\x84\xd8\xb3\xd8\xa8\xd8\xaa\xd8\x8c \xd9\xa1 \xd9\x8a\xd9\x86\xd8\xa7\xd9\x8a\xd8\xb1 \xd9\xa2\xd9\xa0\xd9\xa2\xd9\xa2 \xd9\xa1\xd9\xa2:\xd9\xa5\xd9\xa9:\xd9\xa5\xd9\xa9 \xd8\xb5 \xd8\xaa\xd9\x88\xd9\x82\xd9\x8a\xd8\xaa \xd9\x88\xd8\xb3\xd8\xb7 \xd8\xa3\xd9\x88\xd8\xb1\xd9\x88\xd8\xa8\xd8\xa7 \xd8\xa7\xd9\x84\xd8\xb1\xd8\xb3\xd9\x85\xd9\x8a\nar_SA: \xd8\xa7\xd9\x84\xd8\xb3\xd8\xa8\xd8\xaa\xd8\x8c \xd9\xa1 \xd9\x8a\xd9\x86\xd8\xa7\xd9\x8a\xd8\xb1 \xd9\xa2\xd9\xa0\xd9\xa2\xd9\xa2 \xd9\x85 \xd9\xa1\xd9\xa2:\xd9\xa5\xd9\xa9:\xd9\xa5\xd9\xa9 \xd8\xb5 \xd8\xaa\xd9\x88\xd9\x82\xd9\x8a\xd8\xaa \xd9\x88\xd8\xb3\xd8\xb7 \xd8\xa3\xd9\x88\xd8\xb1\xd9\x88\xd8\xa8\xd8\xa7 \xd8\xa7\xd9\x84\xd8\xb1\xd8\xb3\xd9\x85\xd9\x8a\n
Run Code Online (Sandbox Code Playgroud)\n …

php arabic icu intl alpine-linux

7
推荐指数
1
解决办法
133
查看次数

标签 统计

alpine-linux ×1

arabic ×1

icu ×1

intl ×1

php ×1