我有一段Php代码是读取txt文件的 如下:<?php
$file = fopen("test.txt","r");
$s1 = "";
while(! feof($file))//当文件不结束
{
$line=fgets($file);
echo $line;
}
fclose($file);
?>
这样txt可以完整的显示,可是如果我在前面和后面加入html标签后输出的内容就成了乱码了 在php中输出html显示的html也是乱码 这是怎么回事
$file = fopen("test.txt","r");
$s1 = "";
while(! feof($file))//当文件不结束
{
$line=fgets($file);
echo $line;
}
fclose($file);
?>
这样txt可以完整的显示,可是如果我在前面和后面加入html标签后输出的内容就成了乱码了 在php中输出html显示的html也是乱码 这是怎么回事
解决方案 »
- php怎么入门好一些呢
- 郁闷啊!请问用Zend Studio的朋友,都是下下来直接用的吗?不需要修改它的一些PHP配置吗?它自动用自己的PHP,那我们自己安装的PHP怎么办?
- 域名交接问题
- 论坛用Discuz! 5,在本地测试时,注册后可以正常发出用户的注册邮件,但把文件上传到服务时,却不行.
- 浏览器发送、接收信息时,电流方向处于变化之中吗?
- 如何解决 User jobs@ has already more than 'max_user_connections' active connections ?
- 如何从excel或access中读取数据进入MYSQL?
- 如何在PHP环境中删除图片?
- 初学者,请求帮助!!!
- [用PHP开发系统]--结构和核心
- 请教下C# .net 对于PHPer要不要了解下
- 为什么中文用urlencode编码后反而在传输中出现乱码
你可以在<?php
下加入:
header("Content-Type: text/html; charset=utf-8");
如果你使用的是GB2312,就用
header("Content-Type: text/html; charset=GB2312");
一般我不会这样用
我一般是这样:
<!DOCTYPE html>
<html>
<meta charset="utf8">
...
<?php
//php code
?>
</html>
首先应该学会分析问题,能输出肯定不是code的问题,那就要想想编码了。
忽然想起来以前做加密软件的一个现实乱码问题,当然你txt文件是在window系统下生成的,至于php调用你的txt文件,都是从二进制开始的,如果出现乱码,肯定是二进制数据转码是出现了问题。
这个问题不存在你用php输出还是html输出,关键是要设置号代码转换,先不管他二进制文件,你现实的时候一定要用中文编码来进行转换。utf-8是统一编码,但是中文编码是国标gb2312,php里也可以用gbk编码,是gb2312的一个版本还是什么来着,忘了,反正都可以,在head标签里写入就可以了,同一楼相同。
<head>
<meat http-equiv="Content" content="text/html; charset=gb2312">
</head>
或者是charset=gbk;都可以了。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<?php
header("Content-Type: text/html; charset=utf-8");
$file = fopen("test.txt","r");
$s1 = "";
while(! feof($file))//当文件不结束
{
$line=fgets($file)."<br />";
echo $line;
}
fclose($file);
?>
<body>
</body>
</html>
我改成了这样 但是还是不行啊
文件的编码格式也请改为utf-8.
先用UE一类的编辑器看一下你的这个test.txt是什么编码的。然后根据你这个文本文件的编码格式再转
http://zhidao.baidu.com/question/76923663.html:测试:将 text1.txt 保存成 ASCII编码, text2.txt 保存成 UTF-8 编码 <?php
function chkCode($string){
$code = array('ASCII', 'GBK', 'UTF-8');
foreach($code as $c){
if( $string === iconv('UTF-8', $c, iconv($c, 'UTF-8', $string))){
return $c;
}
}
return null;
}$file = 'text1.txt';
echo chkCode(file_get_contents($file)); // 输出ASCII
echo '<br />';$file = 'text2.txt';
echo chkCode(file_get_contents($file)); // 输出UTF-8
echo '<br />';
?>