1

我正在使用 my_file.php 中fgets的内容从 my_file.php 文件中获取内容,该内容使用 cz 语言作为

"Overte svuj úcet";

但是在获取和print_r浏览器显示之后

"Ověřte svůj úÄet"

但如果我回应“Overte svuj úcet”;浏览器显示正确的输出

"Overte svuj úcet";

实际上我想为不同的语言生成一个csv文件,虽然我设置charset='utf-8'但没有成功我也用谷歌搜索但没有找到解决方案。

4

2 回答 2

2

你所拥有的是一个简单的编码不匹配。数据在编码 A 中,但浏览器尝试将其读取为编码 B。fgets不对编码做任何事情,它只是从文件中读取原始字节,仅此而已。如果您也没有对数据进行转码,那么文本本身就没有问题。

这只会使浏览器无法正确解释数据。您应该始终做的是输出一个指定编码的 HTTP 标头:

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

您还可以将 Web 服务器配置为默认输出此标头。您可能将 HTML<meta>标记设置为表示 UTF-8,但可能会在该标记之前输出数据。

无论哪种方式,请确保 HTTP 标头表示实际数据所在的编码。

于 2012-11-24T11:14:52.793 回答
1

好的,经过长时间的搜索,我找到了它,这解决了我的问题

https://github.com/PHPOffice/PHPExcel/downloads

于 2012-11-29T08:34:30.583 回答