【发布时间】:2012-04-16 15:14:13
【问题描述】:
我有一个 utf-8 编码的 php 脚本。在其中,我有一个带有特殊字符的数组(例如顶部带有 ~ 的 n )。在我的编辑器中看起来还不错。 php 将数组与来自 html 表单的文本匹配并写入 csv 文件。当我写文件时,我会这样做;
fwrite($fp,utf8_encode($data),strlen($data)+100);
当我打开文件时,它说它是 utf-8 编码的,但章程都搞砸了。
【问题讨论】:
-
已经是 $data utf-8 了吗?如果是这样,您将进行双重编码。同样,strlen 不支持 unicode,并且会返回错误值。您应该改用 mb_strlen()。
-
strlen($data)+100是干什么用的?如果你写的是整个字符串,你不需要指定长度,+100 没有意义。