我从一个数据库获得通过HTTP发布或获取一个unicode字符串(无所谓)写的Unicode字符到PHP文件 - 而不是重复
在PHP我使用“mb_detect_encoding”检查字符串的编码结果得到了UTF-8。
因此,字符串是Unicode的。
但我怎么写的字符串从PHP与正确的编码
$fd = fopen('myfile.php', "wb");
fwrite($fd, $msg."\n");
我看到的是“टेसà¥à¤Ÿ”,而不是一个输出文件实际的字符串,它是 电话
将'垃圾'粘贴到记事本++,然后从菜单选项'编码UTF-8'将显示正确的文本。
编辑 * SOLUTION *
对不起张贴的问题,并找出自己的答案。
我找到了解决方案可从以下网站 http://www.codingforums.com/showthread.php?t=129270
function writeUTF8File($filename,$content) {
$f=fopen($filename,"w");
# Now UTF-8 - Add byte order mark
fwrite($f, pack("CCC",0xef,0xbb,0xbf));
fwrite($f,$content);
fclose($f);
}
输出是一个PHP文件的解决方案。我如何为php文件指定标头? – Anand 2012-03-23 08:03:57
对不起,我误解了。关于您自己发布的解决方案:请注意,当您使用字节顺序标记(BOM)启动PHP文件时,包含PHP文件时也会输出此BOM。这可能会导致在使用此生成的PHP文件呈现的页面的开头(或某处中间)输出不需要的BOM。 – GolezTrol 2012-03-23 10:35:06