写入文件时保留特殊字符

时间:2014-11-03 22:16:57

标签: php

我创建了一个包含表单的网站。提交文本时将打印成.csv文件。 问题是像ÄÄÖ这样的字母被打印为“Ã¥”或“ä”。我该怎么做才能保留这些字母?

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

尝试添加UTF-8 BOM

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