PHP生成TXT文件时乱码
在网上找了一个PHP代码用来统计蜘蛛访问日志,代码如下<?phpdate_default_timezone_set('Asia/Shanghai');fu...
在网上找了一个PHP代码用来统计蜘蛛访问日志,代码如下
<?php
date_default_timezone_set('Asia/Shanghai');
function get_naps_bot()
{
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($useragent, 'baiduspider') !== false){
return 'Baiduspider';
}
return false;
}
function nowtime(){
$date=date("Y年m月d日 G点i分s秒");
return $date;
}
$searchbot = get_naps_bot();
if ($searchbot) {
$tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);
$url=$_SERVER['HTTP_REFERER'];
$file="logs.txt";
$time=nowtime();
$data=fopen($file,"a");
fwrite($data,"Time:$time robot:$searchbot URL:$tlc_thispage\n");
fclose($data);
}
?>
现在问题是TXT日志能够正常生成,但是中文输出却是乱码
Time:2011骞?3链?5镞?12镣?4鍒?0绉?robot:Baiduspider
能不能强制定义PHP输出字符为utf8格式? 展开
<?php
date_default_timezone_set('Asia/Shanghai');
function get_naps_bot()
{
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($useragent, 'baiduspider') !== false){
return 'Baiduspider';
}
return false;
}
function nowtime(){
$date=date("Y年m月d日 G点i分s秒");
return $date;
}
$searchbot = get_naps_bot();
if ($searchbot) {
$tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);
$url=$_SERVER['HTTP_REFERER'];
$file="logs.txt";
$time=nowtime();
$data=fopen($file,"a");
fwrite($data,"Time:$time robot:$searchbot URL:$tlc_thispage\n");
fclose($data);
}
?>
现在问题是TXT日志能够正常生成,但是中文输出却是乱码
Time:2011骞?3链?5镞?12镣?4鍒?0绉?robot:Baiduspider
能不能强制定义PHP输出字符为utf8格式? 展开
展开全部
编码问题
把 $time 的编码转换一下
即 把 $time=nowtime(); 改成 $time=iconv('utf-8','gbk', nowtime());
把 $time 的编码转换一下
即 把 $time=nowtime(); 改成 $time=iconv('utf-8','gbk', nowtime());
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用此即可:
header("Content-type: text/html; charset=utf-8");在开头
header("Content-type: text/html; charset=utf-8");在开头
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
header("Content-type: text/html; charset=UTF-8"); 页面头部加上试试。
更多追问追答
追问
试过了,但是不行,仍然显示错误,郁闷的是把txt拿到本地看的话又是正常的。
追答
就是说,txt文件没有乱码,但显示不出来吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询