Я использую PHP (5.2.13) с инфраструктурой IIS6 и CodeIgniter, и я обрабатываю проблемы с данными печати из базы данных с помощью html_entities_decode. Например:html_entities_decode cuts codeignign output
<?php
echo html_entity_decode($somedata,ENT_QUOTES,"UTF-8");
echo "Hello";
?>
$ somedata составляет $ данных [ "Informativo"] [0] -> Texto и Texto некоторые HTML (HTML смешать с XML иногда) кодов.
Проблема в том, что эхо «Hello» не отображается, на самом деле $ somedata не печатает все. Весь буфер после этого эха также не отображается.
Может быть, эта проблема с классом Output из CodeIgniter?
Я обнаружил, что на самом деле запрос не приносит все. База данных - MSSQL Server 2005, а текстовое поле - длинный текст.
Код запроса является:
<?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.
Но почему остальная часть php после эха $ somedata не отображается? В контроллере после этого отсутствует загруженное представление.
Я просто нашел ответ. Моя связь с базой данных использует ODBC, и мне нужно, чтобы указать больший размер длинных байт с:
ini_set("odbc.defaultlrl", "100K");
Вы вызываете 'html_entity_decode()' внутри представления? – Kyslik
Я попробовал как на контроллере, так и на просмотр, и получил те же результаты. – caju
Я знаю, что делает 'html_entity_decode()', но, пожалуйста, отредактируйте вопрос и предоставьте '$ somedata', что в нем? – Kyslik