2014-05-08 64 views
0

我對這一切都很新鮮,但我已經部分設法做到了我想要的。但是file_get_contents不能正確顯示字符。file_get_contents打破了一些字符

我正在使用的代碼是:

$content = file_get_contents('https://pay.ebillett.no/eb_show.php?p_id=1203'); 
$content = str_replace('</title>','</title><base href="https://pay.ebillett.no/" />', $content); 
echo $content; 

我的WordPress頁面在UTF-8編碼,和我試圖要加入到我的網頁的頁面在ISO-8859-1編碼。我如何將ISO-8859-1轉換爲UTF-8?

+0

是什麼$ opts for? –

+0

你在發送一個'content-encoding'頭文件嗎? – Valerij

+0

@ pc-shooter,那不應該在那裏。修正了我的帖子。 – user3615574

回答

0

您需要將顯示內容的頁面添加相應的meta <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

試試這個:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Test</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
</head> 
<body> 
<?php 

$content = file_get_contents('https://pay.ebillett.no/eb_show.php?p_id=1203'); 
$content = str_replace('</title>','</title><base href="https://pay.ebillett.no/" />', $content); 
echo $content; 

?> 
</body> 
</html> 

演示:

enter image description here


或者,你可以像下面這樣做沒有HTML包裝也:

<?php 

$content = file_get_contents('https://pay.ebillett.no/eb_show.php?p_id=1203'); 
$content = str_replace('</title>','</title><base href="https://pay.ebillett.no/" />', $content); 
echo '<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">'; 
echo $content; 

?> 
+0

兩種版本都會產生無效標記 – Valerij

+0

這兩者似乎都不起作用。事情是,我正在運行一個WordPress網站,其他地方的字符顯示正常,只是不在這個特定的區域,我已經包含了一個外部頁面。 http://nynorskenshus.no/speleliste/ – user3615574

+0

@ user3615574 - 嘗試將wordpress模板的「charset」設置爲「ISO-8859-1」。 – Latheesan