PHP使用utf-8重音导入CSV

时间:2011-07-11 17:37:21

标签: php csv utf-8 import

我在导入CSV文件时遇到问题,该文件包含带有重音符号的(法语)名称...当导入它们时,重音不能正确显示示例

félix变成了fŽlix

手动创建文件,然后导入PHP。

我已经尝试了utf8_encode()和utf8_decode(),并且nether函数将转换字符,以便可以正确查看它们。

我的问题是如何才能正确渲染...转换字符集等等

我认为该文本是根据我在这里看到的其他问题在Cp850中编码的。我正在使用fgetcvs()来获取内容。

4 个答案:

答案 0 :(得分:2)

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

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

输出

félix

答案 1 :(得分:1)

请尝试iconv()函数

答案 2 :(得分:0)

我认为这是迟到的答案,但可能对那些仍在寻找解决方案的人有所帮助。这只是一个调整。并不总是建议。

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;

答案 3 :(得分:0)

我在上传时这样做

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));