我正在使用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'
但没有成功,我也用谷歌搜索但没有找到解决方案。
你得到的是一个简单的编码不匹配。数据采用编码 A,但浏览器尝试将其读取为编码 B。 fgets
不对编码做任何事情,它只是从文件中读取原始字节,仅此而已。如果您也没有转码数据,则文本本身没有任何问题。
这只会留下浏览器,浏览器会错误地解释数据。您应该始终输出一个指定编码的 HTTP 标头:
header('Content-Type: text/html; charset=utf-8');
您还可以将 Web 服务器配置为默认输出此标头。您可能将 HTML <meta>
标记设置为表示 UTF-8,但可能会在该标记之前输出数据。
无论哪种方式,请确保 HTTP 标头表示实际数据的编码。
经过长时间的搜索,我找到了它,这解决了我的问题
https://github.com/PHPOffice/PHPExcel/downloads