2014-11-03 96 views
0

我创建了一个包含表单的网站。提交文本时将打印到.csv文件中。 问题是像ÅÄÖ这样的字母被打印为“Ã¥”或“Ô。我能做些什么来保存这些信件?在写入文件时保留特殊字符

<?php 
    $fname = $_POST['fname']; 
    $lname = $_POST['lname']; 
    $file = "register.csv"; 
    $person = $fname.';'. $lname."\n"; 
    file_put_contents($file, $person, FILE_APPEND | LOCK_EX); 
?> 

回答

0

最有可能的问题是读取文件。 PHP脚本应该以接收字母的方式存储字母。 如果您使用Excel读取CSV文件 - 默认情况下,编码将为非UTF。你应该用一些文本编辑器检查你的文件(或者先将它导入到excel设置编码中),并确保文件以utf-8打开。

+0

当打开记事本文件它显示正确的字母。谢谢! – Mangs 2014-11-03 22:30:20

0

尝试增加UTF-8 BOM

file_put_contents($myFile, "\xEF\xBB\xBF". $content, FILE_APPEND | LOCK_EX);