【问题标题】:PHP 7 cannot run utf8 functionsPHP 7 无法运行 utf8 函数
【发布时间】:2018-07-13 01:24:58
【问题描述】:

我遇到了与此处报告的相同的问题:utf8_(en|de)code removed from php7?,但任何想法都没有奏效。

我刚刚跑了:

apt-get upgrade 然后是apt-get install php7.0-xmlrpc php7.0-xml,Ubuntu 告诉我*两者都是is already the newest version

如果我运行我的简单测试脚本:

echo function_exists('utf8_encode') ? 'Good' : 'Bad';

(同样,如果我用 simplexml_load_file 替换 utf8_encode,这也会返回 Bad)

我经常看到“坏”。我没有从 apache 运行(虽然它安装在服务器上)我直接从命令行运行。

我也重新启动了,但仍然没有任何进展。 PHP 版本报告:

7.1.13-1+ubuntu17.10.1+deb.sury.org+1

考虑到我认为这个功能仍然存在,这有什么奇怪的?

所以我的问题是如何让 utf8_encode/decode 工作??

【问题讨论】:

  • 您能否更新您的问题以包含您的实际问题?链接到另一个帖子并说:“我有同样的问题”还不够好。如果该帖子出于某种原因被删除,那么这个问题对未来的访问者来说没有任何意义。
  • 您还应该检查您的 php.ini 是否实际加载了 XML 扩展。您可以创建带有<?php phpinfo(); 内容的 info.php 文件并打开它以查看是否完全加载了 XML。

标签: php


【解决方案1】:

您似乎正在安装错误版本的 xml 扩展:您似乎正在安装 php 7.0 的版本并且您使用的是 php 7.1。

尝试寻找 - 并安装 - php7.1-xmlrpcphp7.1-xml

【讨论】:

  • 非常感谢apt-get install php7.1-xml 修复了它 - 我将把它作为答案和好地方。我以为 7.0 对所有 7 个都有效,但显然没有。
【解决方案2】:

试试installing the mbstring extension

Unicode 功能已移至mbstring extension。在那里查看所有可用功能的文档。

【讨论】:

  • 我得到php7.0-mbstring is already the newest version (7.0.27-1+ubuntu17.10.1+deb.sury.org+1). :(
  • 试试@jeroen 的回答。否则,您应该能够使用 mbstring 中包含的函数来满足您的所有 unicode 需求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-24
  • 1970-01-01
  • 2018-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多