我方法都试了,还是不好用,可能我刚接触php,程序写的有问题,希望哪位朋友能帮忙写个例子 数据库操作: function query($sql) { $this->connect(); $res = mssql_query($sql,$this->link); $this->close(); return $res; } function getResult($sql) { $res = $this->query($sql); while($row=mssql_fetch_assoc($res)) { $r[] = $row; } unset($row); mssql_free_result($res); return $r; } php页面 $sql = "SELECT TOP 10 news_id,news_ztitle,news_img,news_zytext FROM gcd_content WHERE news_class2=50 and news_state=1 and news_img <>'' and news_img is not null order by state_time desc"; $AdminResult= $db->getResult($sql); 现在就是遍历$AdminResult后news_ztitle,news_zytext显示都是乱码
http://blog.csdn.net/yw1386/archive/2009/10/14/4671845.aspx
--------------------------------如果页面输出时要换成gb-2312, 那正明你输入时也是gb-2312
1. 先确定一下你在输入数据库时的保正数据是utf-8编码
输入数据库前转码, 如 mysql_query("SET NAMES utf8");
2. 再设置网页的head头为utf-8
utf-8可以换成你数据库的编码
数据库操作:
function query($sql)
{
$this->connect();
$res = mssql_query($sql,$this->link); $this->close();
return $res;
}
function getResult($sql)
{
$res = $this->query($sql);
while($row=mssql_fetch_assoc($res))
{
$r[] = $row;
}
unset($row);
mssql_free_result($res); return $r;
}
php页面
$sql = "SELECT TOP 10 news_id,news_ztitle,news_img,news_zytext FROM gcd_content WHERE news_class2=50 and news_state=1 and news_img <>'' and news_img is not null order by state_time desc"; $AdminResult= $db->getResult($sql);
现在就是遍历$AdminResult后news_ztitle,news_zytext显示都是乱码
{
$this->connect();
mysql_query("SET NAMES utf8"); //看这行 $res = mssql_query($sql,$this->link); $this->close();
return $res;
}
function getResult($sql)
{
$res = $this->query($sql);
while($row=mssql_fetch_assoc($res))
{
$r[] = $row;
}
unset($row);
mssql_free_result($res); return $r;
}
加了之后, 用phpmyadmin打开数据库,看看里面是不是乱码?数据设置是否utf-8 ?
统一用一种格式,绝对没乱码
还嚷嚷着叫人用set names utf8 ??
sqlserver不认这个!在页面输出是
这样用就没乱码了
<?php iconv('GBK','UTF-8',news_ztitle)?>
<?php iconv('GBK','UTF-8',news_zytext)?>
有中文的字段都要转编码
<?php iconv('GBK','UTF-8',$row['news_zytext'])?>
更正一下
我试了在php里面<li><a href='#'><img src=".$row['news_img']. " /></a>
<strong><a href='3'>".iconv("GBK","UTF-8",$row['news_ztitle']) . "</a></strong>
<span> " . iconv("GBK","UTF-8",$row['news_zytext'])."<font><a href='#'>[详细]</a></font>
</span>
</li>
这样写返回字符串到页面是好用的,在页面上
{foreach from=$FaZhanYG item=fz}
<li>
<a href="#"><img src="/op/images/ad_4.jpg" /></a>
<strong><a href="3"><?php iconv('GBK','UTF-8',{$fz.news_ztitle})?></a></strong>
<span>
<?php iconv('GBK','UTF-8',{$fz.news_zytext})?>...<font><a href="#">[详细]</a></font>
</span>
</li>
{/foreach}这样写就不好用了
是不是我写的有问题?我配的是smarty模板。
iconv('GBK','UTF-8',$data);
$smarty->assign('data',$data);
...
...
$smarty->display('...');