首页 > 解决方案 > 更改 php 版本时,htmlentities 的工作方式不同

问题描述

我在我的一个网站中遇到了htmlentities问题。我得到表单数据库一个 utf8 编码的字符串,但是当我使用 htmlentities 它返回一个空字符串

经过一些测试,我确定问题的根源是 php 安装。为什么?因为如果我使用 Nginx 配置(站点可用文件...)更改我的 php 版本,它就可以工作。

在我的“PHP 版本 5.6.35-1+ubuntu14.04.1+deb.sury.org+1”安装中它工作正常,但在“PHP 版本 5.5.9-1ubuntu4.22”中不起作用。数据库是一样的,文件是一样的,除了php版本之外都是一样的。

一些紧张的代码:

$text = "señal";

mb_detect_encoding($text); //returns 'UTF-8'

htmlspecialchars($text); //returns ''

htmlentities($text); //returns ''

htmlentities(utf8_encode($text)); //returns  'SEÑAL'

我需要查看 php 配置中的内容吗?谢谢!!!

标签: phputf-8

解决方案


推荐阅读