PHP导入带有utf-8口音的CSV

PHP导入带有utf-8口音的CSV,php,csv,utf-8,import,Php,Csv,Utf 8,Import,我在导入一个CSV文件时遇到问题,该文件包含带有重音符号的(法语)名称。。。导入时,重音不会正确显示,例如 费利克斯变成了费利克斯 该文件是手工创建的,然后导入到PHP中 我已经尝试了utf8_encode()和utf8_decode(),下面的函数将转换字符,以便正确查看它们 我的问题是,我怎样才能使它正确地呈现。。。转换字符集。。等 基于我在这里看到的其他问题,我相信文本是用Cp850编码的。我正在使用fgetcvs()获取内容。请尝试()函数在输出为UTF之前设置标题信息 header('

我在导入一个CSV文件时遇到问题,该文件包含带有重音符号的(法语)名称。。。导入时,重音不会正确显示,例如

费利克斯变成了费利克斯

该文件是手工创建的,然后导入到PHP中

我已经尝试了utf8_encode()和utf8_decode(),下面的函数将转换字符,以便正确查看它们

我的问题是,我怎样才能使它正确地呈现。。。转换字符集。。等


基于我在这里看到的其他问题,我相信文本是用Cp850编码的。我正在使用fgetcvs()获取内容。

请尝试()函数

在输出为UTF之前设置标题信息

header('Content-Type: text/html; charset=utf-8');
$log = file_get_contents("log.csv");
echo utf8_encode($log);
输出

félix

我认为这是一个迟来的答案,但可能对那些仍在寻找解决方案的人有所帮助。这只是一个调整。不一定推荐。

header('Content-Encoding: UTF-8');
header('Content-type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename=filename.csv');
echo "\xEF\xBB\xBF"; // UTF-8 with BOM
readfile("filename.csv");
exit;

我正在上传

if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_dir .$target_file)) {
      $log = file_get_contents($target_dir .$target_file);
      file_put_contents($target_dir .$target_file, utf8_encode($log));

您当前正在使用什么代码读取文件?fopen/fgetcvs/etcetera?试着说
iconv\u set\u编码(“内部编码”,“UTF-8”)在脚本顶部。打印iconv(“Cp850”,“UTF-8”,“$text”);//像UTF-8一样打印“lixSeems”。尝试在具有声明页面编码为utf-8的
标记的页面中输出它。