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