当前位置:首页 » 电脑资讯 » 为什么php读取txt文件有乱码

为什么php读取txt文件有乱码

发布时间: 2022-04-12 05:13:55

① php中读文件中时,汉字乱码怎么解决

在<head>当中加上
<meta http-equiv=Content-Type content="text/html;charset=utf-8">

② 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读取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读取文件显示乱码

是数据库编码问题
在建数据库时用 utf8 字符集
在网页中读取时,要在查询之前运行这个
mysql_query("set names 'gb2312'");

⑤ PHP读取中文名称文件乱码,所以未能读取出文件内容

编程语言大多不支持中文名字,建议改成英文的名字,如果你觉得不能所有文件都是英文的话,我告诉你一个办法,上传的时候对文件重新命名,通常以时间戳来命名。同时把原来的文件名读取一个写到数据库做备注。数据库有两个字段是放文件名的,一个是中文备注也就是原来的中文名。第二个是修改之后的文件名。

⑥ 从网站上采集文章保存在TXT里, 在本地用PHP读取TXT, print后有乱码字符.

请照我的方法调试,首先确认采集网站的html元数据meta的charset字段是什么,然后采集回来不要简单的显示,而是放入一个html文档的body区域,且设定meta为想同,这样肯定就不是乱码了,如果采集网站的编码为非utf-8,是不能直接转化utf-8的,因为不是一一对应关系,你想太简单了,兼职就是乱用iconv这个函数。这个函数是有局限性的,比如简体繁体转换。是不能用这个函数的。

⑦ 用PHP读取一个TXT文件, 打印后有乱码, 这是为什么

我觉得这个可能跟你读取TXT的内容的方法及处理有关,如果附上源代码,可能更有助于解决问题。

从 Array ( [0] => 锘a href=\"/2006/04/style/ 来看,

a href=\"/2006/04/style/ 这个说明TXT文件内容应该读取出来了,只是你后期的处理(Array)可能有些不确定。

⑧ php读取文档内容乱码

在输出前加上
header('Content-Type:text/html; charset=utf-8');
UTF-8改成对应的编码即可。

⑨ php读文本文件读出来的内容是乱码怎么办

看看你PHP文件是什么编码,然后用记事本打你的PHP文件,另存为
选择编码类型覆盖。
或者用把读出来的字符串转码。

⑩ PHP分成N部分读取TXT文件,汉字乱码求解决(高手进)

substr截取字符串,但同样会造成中文乱码
给你一个 urf8格式下 切割字符串不造成 中文乱码的 函数 你可以借鉴一下
/*
* 功能: 作用跟substr一样,除了它不会造成乱码
* 参数:
* 返回:
*/
function utf8_substr( $str , $start , $length=null ){
// 先正常截取一遍.
$res = substr( $str , $start , $length );
$strlen = strlen( $str );
/* 接着判断头尾各6字节是否完整(不残缺) */
// 如果参数start是正数
if ( $start >= 0 ){
// 往前再截取大约6字节
$next_start = $start + $length; // 初始位置
$next_len = $next_start + 6 <= $strlen ? 6 : $strlen - $next_start;
$next_segm = substr( $str , $next_start , $next_len );
// 如果第1字节就不是 完整字符的首字节, 再往后截取大约6字节
$prev_start = $start - 6 > 0 ? $start - 6 : 0;
$prev_segm = substr( $str , $prev_start , $start - $prev_start );
}
// start是负数
else{
// 往前再截取大约6字节
$next_start = $strlen + $start + $length; // 初始位置
$next_len = $next_start + 6 <= $strlen ? 6 : $strlen - $next_start;
$next_segm = substr( $str , $next_start , $next_len );
// 如果第1字节就不是 完整字符的首字节, 再往后截取大约6字节.
$start = $strlen + $start;
$prev_start = $start - 6 > 0 ? $start - 6 : 0;
$prev_segm = substr( $str , $prev_start , $start - $prev_start );
}
// 判断前6字节是否符合utf8规则
if ( preg_match( '@^([\x80-\xBF]{0,5})[\xC0-\xFD]?@' , $next_segm , $bytes ) ){
if ( !empty( $bytes[1] ) ){
$bytes = $bytes[1];
$res .= $bytes;
}
}
// 判断后6字节是否符合utf8规则
$ord0 = ord( $res[0] );
if ( 128 <= $ord0 && 191 >= $ord0 ){
// 往后截取 , 并加在res的前面.
if ( preg_match( '@[\xC0-\xFD][\x80-\xBF]{0,5}$@' , $prev_segm , $bytes ) ){
if ( !empty( $bytes[0] ) ){
$bytes = $bytes[0];
$res = $bytes . $res;
}
}
}
return $res;
}

热点内容
为什么男生女生骨头不一样硬 发布:2025-01-10 17:14:24 浏览:38
为什么虎牙里找不到梦泪了 发布:2025-01-10 17:09:39 浏览:239
为什么护士上班时间越长越小心 发布:2025-01-10 17:09:04 浏览:612
每个武馆收费价格都不一样为什么 发布:2025-01-10 17:07:23 浏览:28
广东这段时间为什么老是停电 发布:2025-01-10 16:34:47 浏览:783
为什么国产手机没有47寸屏 发布:2025-01-10 16:33:23 浏览:169
为什么喝了苹果醋也打嗝 发布:2025-01-10 16:33:21 浏览:106
侵华日军军服为什么不一样 发布:2025-01-10 16:08:59 浏览:890
为什么女生不愿意和男生来往 发布:2025-01-10 15:48:37 浏览:444
为什么鸡头米有两种颜色 发布:2025-01-10 15:32:25 浏览:300