我正在使用带有 IIS6 和 CodeIgniter 框架的 PHP (5.2.13),并且我正在使用 html_entities_decode 处理来自数据库的打印数据问题。例如:
<?php
echo html_entity_decode($somedata,ENT_QUOTES,"UTF-8");
echo "Hello";
?>
$somedata 是 $data["informativo"][0]->texto 和 texto 是一些 html(html 有时与 xml 混合)代码。
问题是没有显示回显“Hello”,实际上 $somedata 并没有打印所有内容。回声之后的所有缓冲区也没有显示。
CodeIgniter 的输出类可能是这个问题吗?
我发现实际上查询并没有带来一切。数据库是 MSSQL Server 2005,字段 texto 是长文本。
查询的代码是:
<?php
public function getInformativo($idInformativo)
{
$sql = "SELECT titulo,texto,secao,usu_atualizacao,data_atualizacao,inativo
FROM PI_Informativo
WHERE idInformativo = '".$idInformativo."'";
return $this->db->query($sql)->result();
}
?>
texto 字段只带来了该长文本的一部分。sql 驱动程序是 ODBC。
但是为什么 $somedata 回显后的其余 php 没有显示?在控制器中,任何加载的视图都丢失了。
我刚刚找到了答案。我与数据库的连接使用 ODBC,我需要指定更大的长字节大小:
ini_set("odbc.defaultlrl", "100K");