转换ob_get_clean会导致PHP

时间:2011-10-14 18:33:22

标签: php

我正在开发一个现有的php网站,它有一个导出页面,可以吐出数据并保存到文本文档中。 (txt& xtg)

$output = ob_get_clean();

我正在尝试修复的问题是输出的编码,显然字符无法正确显示。我很确定数据库是正确的UTF-8格式。

问题显示为La Fédération

我尝试了以下方法,但它没有用 - 输出仍然是错误的 - 任何想法?

$output = mb_convert_encoding($output, "UTF-8");

这是相关代码的其余部分

// Ouput file.
// Set DOS line endings for Quark 6
file_put_contents( "/var/www/vhosts/artsdb.net/httpdocs/export/" . $type . "/" . $filename . ".xtg.txt", str_replace( array( "\n", "\r\n\r\n" ), array( "\r\n", "\r\n" ), $output ) );

echo "Exporting " . str_replace( "_", " ", $filename ) . " ($type) complete.\n\n";

感谢您寻找

1 个答案:

答案 0 :(得分:2)

我假设数据在网站上正确显示,浏览器显示您的网页为UTF-8。

要解决此问题,我首先删除任何编码转换并尝试在Web浏览器中打开文本文件,以消除您查看文件的方式的任何问题,并确认它确实以UTF-8出现。

如果上面的浏览器显示文本文件中的内容不是utf-8,请尝试在$ output上调用utf8_encode,然后再将其写入文件。