php - `iconv` 需要安装什么才能使用 PHP8
问题描述
我正在尝试迁移doctrine/rst-parser
到 Github 操作,最后一个障碍是测试因调用而失败iconv
:
iconv('utf-8', 'us-ascii//TRANSLIT', $text)
测试失败
Failed asserting that two strings are identical.
--- Expected
+++ Actual
@@ @@
<li class="dash">Test list item 1.</li>
<li class="dash">Test list item 2.</li>
</ul>
-<p class="rot-gelb-blau grun-2008">Weird class names.</p>
+<p class="rot-gelb-blau grn-2008">Weird class names.</p>
我已经尝试安装libc6
ubuntu 包,并安装iconv
PHPintl
扩展,没有骰子。我应该尝试什么?
这是拉取请求的链接:https ://github.com/doctrine/rst-parser/pull/126
编辑:解决方案似乎是做 asetlocale(LC_ALL, 'en_US');
,但false
出于某种原因,它会在 github 操作上返回。
解决方案
使用setlocale(LC_ALL, 'en_US.utf8')
解决了这个问题。自 PHP 8 起这是必需的:https ://github.com/php/php-src/commit/c4ad8beaa890b931031a5cf8a1d2d38550fca3af
推荐阅读
- r - 闪亮的 UI 和服务器循环
- html - ng-repeat 数据闪烁然后消失
- android - android.support.design.button.MaterialButton 抛出 InflateException
- python - 如何在 Python 中将值数组插入符号函数
- pointers - Frama-c 无法证明 `char*` 以外类型的缓冲区指针的有效性
- android - 在 React Native For Android 中添加文档扫描仪
- javascript - 从 firebase 获取多个数据并将其存储在表中
- php - 如何加密来自包括服务器在内的所有人的数据
- linux - Bash脚本复制文件夹和内容而没有一个文件
- database - Oracle中如何检查表碎片