Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 写入文件时保留特殊字符_Php - Fatal编程技术网

Php 写入文件时保留特殊字符

Php 写入文件时保留特殊字符,php,Php,我创建了一个包含表单的网站。提交时,文本将打印到.csv文件中。 问题是像ÄÖ这样的字母被打印为“Ã¥”或“ÃÖ”。我能做些什么来保存这些信件 <?php $fname = $_POST['fname']; $lname = $_POST['lname']; $file = "register.csv"; $person = $fname.';'. $lname."\n"; file_put_contents($file, $person, FILE

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

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

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

尝试添加
utf-8 BOM

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

在记事本中打开文件时,它显示了正确的字母。谢谢您!