将十进制html非规则ASCII转换为字符ORACLE/PHP

将十进制html非规则ASCII转换为字符ORACLE/PHP,php,oracle,plsql,Php,Oracle,Plsql,我有一些数据以HTML字符串形式保存在oracle数据库中,例如: <span>This is &#8216;data&#8217; from 1950&#8211;1980</span></br> 这是‘;数据’;从1950年到8211年;1980年 我正试图将其从数据库中提取并保存在CSV中作为 这是1950年至1980年的“数据” 但我不知道如何将十进制html非规则ASCII转换为它自己的字符(我的数据

我有一些数据以HTML字符串形式保存在oracle数据库中,例如:

<span>This is  &#8216;data&#8217; from 1950&#8211;1980</span></br>
这是‘;数据’;从1950年到8211年;1980年
我正试图将其从数据库中提取并保存在CSV中作为

这是1950年至1980年的“数据”

但我不知道如何将十进制html非规则ASCII转换为它自己的字符(我的数据包含许多特殊字符)

我尝试了
convert
和其他功能,但没有任何效果。此外,我尝试了许多函数在PHP中对其进行转换,但效果不佳。

$input=“这是1950年和1980年的数据和数据。”;
$input="<span>This is &#8216;data&#8217; from 1950&#8211;1980</span></br>";

$output = preg_replace_callback("/(&#[0-9]+;)/", function($m) { return mb_convert_encoding($m[1], "UTF-8", "HTML-ENTITIES"); }, $input);


echo $output;
$output=preg_replace_回调(“/(&#[0-9]+)/”,函数($m){return mb_convert_编码($m[1],“UTF-8”,“HTML-ENTITIES”)},$input); echo$输出;
这是1950年至1980年的“数据”


学分到期时,它在手册的某个地方,但我从我的一个库中取出了它,所以我不确定它在哪里:-)

试试看,它不起作用
不是ASCII码;它是一个Unicode代码点,就像HTML和XML中的其他字符一样。(如果您必须使用字符编码进行处理,请使用UTF-32)。谢谢您的帮助。但当我将数据保存在CSV中时,它显示为:这是“数据”™ 从1950年到1980年,我使用FPUT($csv,$line);这些不是常规引号,因此根据db、脚本和csv文件之间的字符集,它们可能会变得混乱。您可能需要将它们转换为常规格式,而不仅仅是解码实体,还需要如何将它们转换为常规格式?
str\u repalce()
我的数据中有数百个特殊字符