PHP 如何生成编码为Unicode的txt文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 如何生成编码为Unicode的txt文件相关的知识,希望对你有一定的参考价值。

PHP 如何生成编码为Unicode的txt文件?
页面编码是gb2312

$file = fopen("../csv/".$wenjianming.".txt","a+");
fwrite($file,$data);
fclose($file);
生成的文件 如何再把这文件转成Unicode编码的

是把文件编码装换为Unicode?notepad++可以。如果是从gbk页面上获取的信息转utf8用mb_convert_encoding,但php文件编码格式是由编辑器决定的追问

实际上我生成的是csv文件 csv我的分隔符不是用逗号 而是用制表符分割的,现在情况是 当编码为Unicode时 表格才正常显示, 若是ANSI则分隔符无效,并不会乱码 只是影响我表格而已

参考技术A $data = mb_convert_encoding( $data, "UTF-8", "GB2312");

追问

不行 是要最后生成的文件编码是 Unicode的 这样还是不行

追答string iconv( string $in_charset , string $out_charset , string $str  )

试试这个函数,再试试设置php的header

header("content-type: text/html; charset=utf-8");

追问

不行的 ,我知道fopen函数能够设置编码 就不知道设置为Unicode是语法是怎样的

能不能修改windows的写字板默认的文件编码为unicode?

如题,因为要经常保存unicode编码才有的字符,又不想开WORD,可是写字板默认是用ANSI保存,每次存文件都要另存为,很麻烦。有没有办法改变默认的编码,让写字板默认存为unicode编码呢?
写错了,不是写字板,是改记事本的默认编码。

改Windows记事本(notepad)默认编码为Unicode或UTF-8的方法
解决方法如下:

1. 新建一个txt文档,不输入任何内容。然后“另存为”,将编码由默认的 ANSI 修改为 Unicode 或 UTF-8,并将新文档命名为 template.txt

2.将 template.txt 移动至系统目录 C:\Windows\addins\

3.新建文本文件 temp.txt ,复制以下内容至 temp.txt

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt\ShellNew]

"FileName"="C:\\Windows\\addins\\template.txt"

将temp.txt 后缀改成 reg,双击导入注册表

4.此方法只适用于以“新建”右键菜单方式建立新文本文档,不适用于notepad.exe
参考技术A 点另存为,在保存类型那选最后一个,不过最后是保存为.txt文件格式的。追问

我知道啊~我就是想问能不能让他默认保存为UNICODE改一次就好。不是每次存都要选一次。

以上是关于PHP 如何生成编码为Unicode的txt文件的主要内容,如果未能解决你的问题,请参考以下文章

如何检查TXT文本是否ANSI编码格式的?

TXT文档里有Unicode字符导致打开时为乱码怎么办啊?

如何判断一个文件的编码格式,UNICODE,BIG5,毕业设计

将txt文件重写为其他编码[关闭]

怎样查看txt文件编码方式

PHP操作CSV文件的编码问题