PHP - fwrite()/ fputs()有时会弄乱重音字符

时间:2016-07-27 14:09:25

标签: php html utf-8 fwrite

我一直致力于一个PHP程序,最终导出一个HTML文件。我遇到一个问题,有时法语字符没有正确写入文件(这不是网页的问题,我在记事本中打开文件,字符只是更改了)。

以下是我编写的代码:

foreach($footer as $a){
echo $a;
fwrite($file, $a."\r\n");
}

echo显示以下内容:

  

En cas de divergence entreleprésentdocumentet les documents   签约官,ces derniersontpresséance。

但是写入文件的是:

  

En cas de divergence entrelepré发送文件等文件   签约官,ces derniersontpré©ance。

在我的代码中有几行以上我用其他法语字符导出行并且它们工作正常(它基本上是完全相同的代码),但在这里它不是。

我尝试过使用fputs(),将fopen($ file,'w')更改为fopen($ file,'wb'),添加utf_encode()(这只会让出现的混乱变得更糟)等等并没有解决这个问题。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我最终找到了解决问题的方法:

我无法设置和填充被另一个程序覆盖,该程序修改了我无法控制的文件,因此法语字符必须按原样显示在文本中。

要正确显示必须做的事

fwrite($file, utf8_decode($a)."\r\n");

谢谢大家:)