Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从.txt文件中提取数据将生成中文字符_Php - Fatal编程技术网

Php 从.txt文件中提取数据将生成中文字符

Php 从.txt文件中提取数据将生成中文字符,php,Php,我通过fopen从提交的.txt文件中获取数据,以便与包含一行标题的硬编码字符串进行比较,以进行验证 即使满足条件,验证也会失败。我回显了这两个变量以查看错误,并发现其中一个($headers)输出的是中文字符,而不是预期的字符串 代码: 这是两个变量的输出,存储在pastebin上,因为如果我将其添加到此处,SO会触发垃圾邮件标志: 注意,在这种特殊情况下,两个变量应该包含相同的字符串 另外,我注意到,如果我以相反的顺序回显变量($headers第一个和$results第二个),结果是不同的

我通过
fopen
从提交的.txt文件中获取数据,以便与包含一行标题的硬编码字符串进行比较,以进行验证

即使满足条件,验证也会失败。我回显了这两个变量以查看错误,并发现其中一个(
$headers
)输出的是中文字符,而不是预期的字符串

代码:

这是两个变量的输出,存储在pastebin上,因为如果我将其添加到此处,SO会触发垃圾邮件标志:

注意,在这种特殊情况下,两个变量应该包含相同的字符串

另外,我注意到,如果我以相反的顺序回显变量(
$headers
第一个和
$results
第二个),结果是不同的,
$headers
生成正确的字符串,
$result
几乎做相同的事情,但有几个� 介于两者之间的字符

我已经检查了这是否是.php文件本身的编码问题,但似乎不是这样(UTF-8)

我已经检查了这是否是.php文件本身的编码问题,但似乎不是这样(UTF-8)

从中读取数据的文本文件的编码也是相关的


这里似乎不是UTF-8-因此,在读取数据后,您必须先将其转换为UTF-8,然后才能将其与UTF-8中的变量值进行比较(因为这些值来自代码,并且保存在UTF-8中),或者在将其作为UTF-8编码响应的一部分输出之前,将给出可用的结果。

您在那里读取的文本文件的字符编码是什么…?似乎不是UTF-8-因此,在读取数据之后,或者在将其作为UTF-8编码响应的一部分输出之前,您必须先将其转换为UTF-8,然后才能将其与UTF-8中的变量值进行比较(因为它们是脚本的一部分,您保存在该编码中)。很抱歉,回复太晚了,关于.txt文件,您是对的。我收到一个UTF-16LE,它把事情搞得一团糟,使用
mb\u convert\u编码
我设法摆脱了所有奇怪的交互。你介意提出你的意见作为答案吗?这样我就可以投票表决了?
$fn = fopen($_FILES["polizas"]["tmp_name"], "r");
$result = fgets($fn);
$headers = "seccion;propuesta;poliza;endoso;tipo endoso;desc tipo endoso;pol que renueva;iva;tipo doc;nro doc;apellido;domicilio;cod postal;telefono;localidad;provincia;fecha emision;fecha inicio;fecha vcto;canal pago;desc canal pago;origen;productor;organizador;moneda;item;marca;modelo;cero Km;motor;chasis;patente;tipo carroceria;desc tipo carroceria;cobertura;desc cobertura;cod acc1;desc acc1;valor acc1;cod acc2;desc acc2;valor acc2;cod acc3;desc acc3;valor acc3;cod acc4;desc acc4;valor acc4;suma aseg;prima;recarg;der emision;sellos;imp tasas;otrod;bonif;iva;adminis financ;premio;cant cuotas;ajuste;tipo vehiculo;desc tipo vehiculo;codigo uso;descripcion uso;año fab;nro prestamo;vcto cuota1;vcto prestamo;tipo prestamo;tipo operacion;seccion pol.paquete; poliza pol.paquete;";

echo $headers;
echo $result;