㈠ php 读取 gbk txt文档, utf8 输出乱码
首先要保证整个php文件是utf-8的格式
//最好写上去,因为这也可能是页面没有设置字符集
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
//获得字符串之后马上把字符串转成另一种编码
$content = file_get_contents("800.txt");
$content = mb_convert_encoding($content, 'utf-8', 'gbk');
㈡ PHP用file_put_contents修改txt文本里数据,修改后里面数据怎么是乱码的怎么解决
可能编码没有设置对,改成utf8或者gbk试试。
㈢ php读取txt文本输出时乱码如何解决
$text = file_get_contents($filePath);
//$encodType = mb_detect_encoding($text);
define('UTF32_BIG_ENDIAN_BOM', chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF));
define('UTF32_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00));
define('UTF16_BIG_ENDIAN_BOM', chr(0xFE) . chr(0xFF));
define('UTF16_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE));
define('UTF8_BOM', chr(0xEF) . chr(0xBB) . chr(0xBF));
$first2 = substr($text, 0, 2);
$first3 = substr($text, 0, 3);
$first4 = substr($text, 0, 3);
$encodType = "";
if ($first3 == UTF8_BOM)
$encodType = 'UTF-8 BOM';
else if ($first4 == UTF32_BIG_ENDIAN_BOM)
$encodType = 'UTF-32BE';
else if ($first4 == UTF32_LITTLE_ENDIAN_BOM)
$encodType = 'UTF-32LE';
else if ($first2 == UTF16_BIG_ENDIAN_BOM)
$encodType = 'UTF-16BE';
else if ($first2 == UTF16_LITTLE_ENDIAN_BOM)
$encodType = 'UTF-16LE';
//下面的判断主要还是判断ANSI编码的·
if ($encodType == '') {//即默认创建的txt文本-ANSI编码的
$content = iconv("GBK", "UTF-8", $text);
} else if ($encodType == 'UTF-8 BOM') {//本来就是UTF-8不用转换
$content = $text;
} else {//其他的格式都转化为UTF-8就可以了
$content = iconv($encodType, "UTF-8", $text);
}
㈣ PHP文件乱码,怎么回事
首先需要安装一下ConvertToUTF8,然后按照以下步骤操作就不会有乱码了。
1、调用ctrl+shift+p,输入:install package回车。
2、在稍后弹出的安装包框中搜索:ConvertToUTF8点击安装,重装打开文件就不会有乱码了。
㈤ php读文本文件读出来的内容是乱码怎么办
看看你PHP文件是什么编码,然后用记事本打你的PHP文件,另存为
选择编码类型覆盖。
或者用把读出来的字符串转码。
㈥ PHP写入到文本文件乱码
php处理中文编码老是有问题,这是编码的问题,可以将txt文件另存为UTF-8的编码再处理;
参考如下:
functionfile_utf8($filepath){
$f_contents=file_get_contents($filepath);
$encoding=mb_detect_encoding($f_contents,array('GB2312','GBK','UTF-16','UCS-2','UTF-8','BIG5','ASCII'));
$content_u="";
$handle=fopen($filepath,"r");
if($handle){
while(!feof($handle)){
$buffer=fgets($handle);
if($encoding!=false){
if(mb_detect_encoding($buffer)!='UTF-8'){
$buffer=iconv($encoding,'UTF-8',$buffer);
}
}else{
$buffer=mb_convert_encoding($buffer,'UTF-8','Unicode');
}
$content_u.=$buffer;
}
fclose($handle);
return$info=array('status'=>1,'message'=>$content_u);
}else{
return$info=array('status'=>0,'message'=>'打开文件失败');
}
}
㈦ php格式文件用记事本TXT修改内容会乱码要怎么修改才不会
用记事本修改PHP文件,保存的时候要注意,一面文件头部会出现bom信息;
修改完文件,点击文件,选择另存为;
保存类型选择:所有文件(*.*);编码选择:utf-8。
然后点击保存即可。
㈧ PHP生成TXT文件时乱码
编码问题
把 $time 的编码转换一下
即 把 $time=nowtime(); 改成 $time=iconv('utf-8','gbk', nowtime());
㈨ php写入txt档案出现乱码
那是脚本编码的问题
推荐用工具打开
Editplus或 Adobe Dreamweaver之类的.
在里面可以设置编码.
一般我们都用utf8.不推荐用gbk.早晚都要与utf8接轨的.何必呢???要从早养成习惯.
iconv是一个转换编码的语句,可以在手册里查询到.
header('Content-Type: text/html; charset=utf8');
是头信息,必须放在脚本开头.
foreach ($gb as $guestbook) { echo stripslashes($guestbook); }
break;
case 1:
你这个...语法不对.
break是中断,中断了哪里???
下面的case没有switch,你怎么用的?
㈩ PHP读取文件乱码问题
1.fgetc($fp) 取得是单字节的,中文可能的根据编码可能有2 3 4字节,所以不管怎么输出肯定都会是乱码。
解决方法
1.修改php文件的编码为utf-8, 只有这样保存到test.txt文件里的文件才会是utf-8 大部分中文就都是按照3个字节
2.$fp=fopen($filename,"r");
while(($char=fread($fp,3))!==''){
printf("%d.%s",ftell($fp)/3,$char);
}