我使用fgets
从my_file.php文件获取内容my_file.php中的内容使用cz语言
"Overte svuj úcet";
但在获得print_r
浏览器后显示
"Ověřte svůj úÄet"
但如果我回应“Overtesvujúcet”;浏览器显示正确的输出
"Overte svuj úcet";
实际上我想为不同的语言生成 csv 文件,虽然我设置charset='utf-8'
但没有成功我也用Google搜索但找不到解决方案。
答案 0 :(得分:2)
您所拥有的是简单的编码不匹配。数据在编码A中,但浏览器尝试将其读作编码B. fgets
不对编码做任何事情,它只是从文件中读取原始字节,仅此而已。如果您不对数据进行转码,则文本本身没有任何问题。
这只会离开浏览器,而浏览器会错误地解释数据。你应该经常做的是输出一个指定编码的HTTP标头:
header('Content-Type: text/html; charset=utf-8');
您还可以将Web服务器配置为默认输出此标头。您可能将HTML <meta>
标记设置为表示UTF-8,但可能在该标记之前输出数据。
无论哪种方式,请确保HTTP标头表示实际数据所在的编码。
答案 1 :(得分:1)
好的,经过长时间的搜索,我发现它,这解决了我的问题