Php 读取UTF-8行文本并将其写入文件

Php 读取UTF-8行文本并将其写入文件,php,Php,我从一个页面中取出几行UTF-8文本,然后转储到一个文件中。原始页面中的文本显示良好。但是,输出文件中的文本显示为置乱 我的尝试: $myFile = "testFile.txt"; $fh = fopen($myFile, 'w') or die("can't open file"); $pageContent = file_get_contents("page.html"); //Here: use regex to grab the title ... $stringData = $tit

我从一个页面中取出几行UTF-8文本,然后转储到一个文件中。原始页面中的文本显示良好。但是,输出文件中的文本显示为置乱

我的尝试:

$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$pageContent = file_get_contents("page.html");
//Here: use regex to grab the title ...
$stringData = $title."\n";
fwrite($fh, utf8_encode($stringData));
fclose($fh);
在将任何内容写入文件之前。我将该文件保存为UTF-8,也将其保存为Unicode,但仍将置乱文本保存为:

ÊÌÌÚ

我没有使用PHP5


任何帮助都将不胜感激……不要使用
utf8\u编码

很抱歉这么大喊大叫,只是太频繁地被误用了。
您的文本已在UTF-8中。*您不需要再次将其编码为UTF-8。
utf8\u encode
将拉丁文编码文本转换为UTF-8。您的文本不是拉丁文编码的。这就是为什么它搞砸了。只要读写课文,就行了。无需编码转换或重新编码


*假设
page.html
是用UTF-8编码的。从你说的话来看,似乎是这样。

不要使用
utf8\u编码

很抱歉这么大喊大叫,只是太频繁地被误用了。
您的文本已在UTF-8中。*您不需要再次将其编码为UTF-8。
utf8\u encode
将拉丁文编码文本转换为UTF-8。您的文本不是拉丁文编码的。这就是为什么它搞砸了。只要读写课文,就行了。无需编码转换或重新编码


*假设
page.html
是用UTF-8编码的。从你说的话来看,似乎是这样。

看起来你是双重编码。如果您阅读该文档,您会发现它设计用于将ISO-8859-1字符串编码为UTF-8。如果你已经有一个UTF-8字符串,你不应该在它上面运行这个函数;否则它会将其解释为ISO-8859-1,并进行不正确的编码。

看起来您是双重编码。如果您阅读该文档,您会发现它设计用于将ISO-8859-1字符串编码为UTF-8。如果你已经有一个UTF-8字符串,你不应该在它上面运行这个函数;否则它将解释为ISO-8859-1,并进行错误编码。

我没有使用PHP5
-对此您无能为力吗?PHP4非常过时,不支持许多安全功能。我知道升级并不总是可能的(我自己在一个特定的平台上有这个永久性的问题),但是如果你能升级,你绝对必须…暂时不使用PHP5…
我没有使用PHP5
-你对此无能为力吗?PHP4非常过时,不支持许多安全功能。我知道升级并不总是可能的(我自己在一个特定的平台上有这个永久性的问题),但是如果你可以升级,你绝对必须…暂时不要使用PHP5…我想你应该补充一点,OP看到的加扰字符可能是在非utf8查看器中查看utf8输出的结果(可能是命令行)。[P.S.关于我的帖子,你完全正确,我有一个大脑屁;帖子被删除]我想你应该补充一点,OP看到的加扰字符可能是在非utf8查看器(可能是命令行)中查看utf8输出的结果。[P.S.你对我的帖子完全正确,我有一个头脑放屁;帖子被删除]