使用 file_get_contents() 和 ajax 获取 HTML:字符显示不正确
Getting HTML with file_get_contents() and ajax: chars are not displayed properly
我使用 proxy.php 和 main.js 从网站检索 html 数据。相关摘录如下:
proxy.php:
<?php
$url = addslashes($_GET['url']);
$output = file_get_contents($url);
echo $output;
ajax.js:
$.ajax({
url : 'proxy.php?url=http://www.example.com',
cache : false,
dataType: 'html'
})
.done(function (html) {
// do something
});
我的问题是德语中的“ä”、“ö”、“ü”等特殊字符显示不正确。例如,我得到的不是 "Nächte",而是 "Nächte"。有人知道这个问题的解决方案吗?
在 proxy.php 文件中指定 header 可能有助于确保使用适当的字符编码。例如
<?php
header('Content-Type: text/html; charset=utf-8');
$url = addslashes($_GET['url']);
$output = file_get_contents($url);
echo $output;
?>
我使用 proxy.php 和 main.js 从网站检索 html 数据。相关摘录如下:
proxy.php:
<?php
$url = addslashes($_GET['url']);
$output = file_get_contents($url);
echo $output;
ajax.js:
$.ajax({
url : 'proxy.php?url=http://www.example.com',
cache : false,
dataType: 'html'
})
.done(function (html) {
// do something
});
我的问题是德语中的“ä”、“ö”、“ü”等特殊字符显示不正确。例如,我得到的不是 "Nächte",而是 "Nächte"。有人知道这个问题的解决方案吗?
在 proxy.php 文件中指定 header 可能有助于确保使用适当的字符编码。例如
<?php
header('Content-Type: text/html; charset=utf-8');
$url = addslashes($_GET['url']);
$output = file_get_contents($url);
echo $output;
?>