【发布时间】:2013-12-10 12:14:01
【问题描述】:
我在使用 file_get_contents 和 fwrite 时遇到问题。
要让脚本正常工作,我必须将外部 URL 中的内容打印到 html 文件中。
我正在使用此代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
$url = 'http://www.vasttrafik.se/nasta-tur-fullskarm/?externalid=9021014005135000';
$content = file_get_contents($url);
echo $content; // Actually writes out correct
$myFile = "response.php";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, $content); // Doesn't write out correct ???
fclose($fh);
?>
</body>
</html>
当我回显 file_get_contents 时,HTML 显示得很好(带有瑞典特殊字符:åäö)
但是..文件“response.php”显示坏字符而不是åäö。
有什么想法吗? fwrite 是否使用其他编码? 谢谢!
更新! 解决了这个问题:
$content = "\xEF\xBB\xBF";
$content .= utf8_encode(file_get_contents($url));
【问题讨论】:
-
您是如何检查该文件中的结果的?
-
@Dugi:没有帮助:/ deceze:当我回显 $content 时,它起作用了。但是当我浏览“response.php”时,这些字母:“åäö”很奇怪。是的,当我运行这个脚本时,文件 response.php 会更新
标签: php special-characters file-get-contents fwrite