我在导入CSV文件时遇到问题,该文件包含带有重音符号的(法语)名称...当导入它们时,重音不能正确显示示例
félix变成了fŽlix
手动创建文件,然后导入PHP。
我已经尝试了utf8_encode()和utf8_decode(),并且nether函数将转换字符,以便可以正确查看它们。
我的问题是如何才能正确渲染...转换字符集等等
我认为该文本是根据我在这里看到的其他问题在Cp850中编码的。我正在使用fgetcvs()来获取内容。
答案 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));