<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'id',
'title',
array(
'name'=>'content',
'value'=>$model->content,
),
array(
'name'=>'statusText',
'value'=>$date->statusText,
),
array(
'name'=>'createTime',
'value'=>Yii::app()->DateFormatter->formatDateTime($model->createTime,"full","short"),
),
array(
'name'=>'updateTime',
'value'=>Yii::app()->DateFormatter->formatDateTime($model->updateTime,"full","short"),
),
),
)); ?>
content中含有html 元素,比如<br />或<ul><li>list 1</li><li>list 2</li></ul>
输出的html代码中中也是如此,并非htmlspecialchars编码过的;
但是浏览器并不渲染这些html代码,只是当作字符输出;不论是ie系列还是ff,chrome都是这样;当我用ff的firebug删除一个html元素旁边的空格的时候就正常显示;
我的开发环境是
os:ubuntu 9.10
editor: vim
set enc=utf-8
let &termencoding=&encoding
set fencs=utf-8,ucs-bom,cp936,gb18030,gbk,gb2312
apache2 -V
Server version: Apache/2.2.12 (Ubuntu)
php 5.2.10
mysql 5.1.37
db组建使用utf8编码;数据库字符集是utf8_general_ci;
我尝试过几个grid都是这样:
<?php $this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
array(
'name'=>'id',
'value'=>'$data->id',
),
array(
'name'=>'title',
'value'=>'$data->title',
),
array(
'name'=>'content',
'value'=>'$data->content',
),
array(
'name'=>'status',
'value'=>'$data->statusText',
),
array(
'name'=>'createTime',
'value'=>'Yii::app()->dateFormatter->formatDateTime($data->createTime,"medium",null)',
),
array(
'name'=>'updateTime',
'value'=>'Yii::app()->dateFormatter->formatDateTime($data->updateTime,"medium",null)',
),
array(
'class'=>'CButtonColumn',
'header'=>Yii::t('ui','Actions'),
),
),
)); ?>