试试发送文件头是utf-8的(header),然后将字符转成ansi的(iconv)

解决方案 »

  1.   

    如果你的内容只有 ascii 字符,utf-8 和win 下的default 格式就没有什么区别了,如果很在意,可以在文件内容最前面加上 utf-8 的 BOM 也就可以了,不过我记得好像 linux 下面,php 文件前面如果有这个 BOM,会出错的,不知道是不是我记错了?$fp = fopen('bom.txt', 'w');
    fwrite($fp, "\xEF\xBB\xBF");
    fclose($fp);然后你用 notepad 打开这个文件,选择 菜单 “文件”->“另存为”,你就可以看到这个文件的编码确实是utf-8,也没有内容,
      

  2.   

    我现在已经知道添加的内容中含有 非ascii的字符,生成的文件就是utf8格式的,但是现在我要生成一个空文件或是添加的内容中只有ascii字符,怎样生成utf8格式的文件,请了解的高手帮帮我
    ----------------------
    理解错误,
    含有非ascii字符,并不一定就是utf8格式的,比如说可能是gbk.如果一个文件只有ascii字符, 它即是ascii的,也是utf8的,因为在128之前的字符,utf8和ascii是兼容的,
    所以这种情况是不需要作任何转换的,(加不加BOM都行)