使用以下代码时:
$myString = 'some contents';
$fh=fopen('newfile.txt',"w");
fwrite($fh, "\xEF\xBB\xBF" . $myString);
使用PHP函数首先对文本进行编码是否有任何意义(示例中为$ myString),例如比如运行utf8_encode($myString);
或类似的iconv()
命令?
假设BOM \xEF\xBB\xBF
首先输入到文件中,并且UTF8几乎代表了世界上的所有角色,我没有看到以这种方式创建文件的任何潜在失败情况。换句话说,我没有看到任何主要文本编辑器无法核心地解释新创建的文件,按预期显示所有字符的情况。即使$myString
是来自HTML表单的PHP $_POST
变量,也是如此。我是对的吗?
答案 0 :(得分:1)
如果您的源文件是UTF-8
编码的,那么字符串$myString
也是UTF-8
编码的,您无需转换它。否则,您需要先使用iconv()
转换编码,然后再将其写入文件。
注意utf8_encode()
用于将ISO-8859-1字符串编码为UTF-8。
答案 1 :(得分:0)