PHP将字符串写入文本文件的问题

时间:2014-05-08 08:23:40

标签: php encoding utf-8 fwrite

我已经创建了可以编写文本的表单。

在PHP中,它将获取此文本字段的值并尝试将其写入文件:

$txtFile = $filePath.$counter."_ans.txt";
$f=fopen($txtFile, "wb");
fwrite($f, $word);
fclose($f);

当我用我的语言写文本时,例如қазақ

我发布它。它创建了.txt文件但是当我打开它时,它会显示我:қазақ

问题:我该怎么办?我的语言是哈萨克语。

2 个答案:

答案 0 :(得分:0)

您需要使用UTF-8对文件进行编码,您有两种解决方案:

 header('Content-Type: text/html; charset=utf-8'); // Server side

或者

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> // Client side

在文件的顶部。

答案 1 :(得分:0)

您可以尝试在文件中添加BOM(字节顺序标记)(并以html格式打开):

$txtFile = $filePath.$counter."_ans.txt";
$f=fopen($txtFile, "wb");
$string = "\xEF\xBB\xBF";
$string .= $word;
fwrite($f, $string);
fclose($f);

但首先要查看变量var_dump($word)

中的内容