2012-03-10 86 views
0

我使用的file_get_contents *刪除邪惡人物*得到一些遠程文本,文本中包含左/右雙引號的文本,如「Green Slime」PHP如何從字符串

* *的file_get_contents返回該文本爲�Green Slime�

尋找在遠程數據源,所述「」字符是文字​​,而不是實體的代碼。源中沒有字符集定義。

有沒有可以添加到* file_get_contents *以更正此問題的上下文?如果沒有,我怎樣才能* str_replace *這些字符?

編輯:明顯的解決方案,如ヶ輛()和str_replace()函數不工作。使用cURL時,我也會得到相同的字符。

+0

htmlentities怎麼樣?我不確定。你嘗試過嗎? – Voooza 2012-03-10 16:40:59

回答

0

我用ord()來確定這些字符是chr(147)和chr(148),然後使用str_replace(Chr(147), "&#147", $str)

不知道爲什麼兩者的file_get_contents和捲曲在無法顯示在瀏覽器的方式返回此內容。

0

將這個馬上head標籤下:

<meta charset="utf-8"> 
+0

你假設提問者對文件有*任何*控制... – 2012-03-10 16:34:11

+0

我已經在我的頁面中擁有該文件。我無法更改遠程頁面。 – user191688 2012-03-10 16:34:59

+1

您可以使用字符串替換器,然後用其他字符替換這些括號,例如:$ s = str_replace(''',''',$ s); echo $ s; – sm13294 2012-03-10 16:40:05

-1

查找到utf8_decode /編碼功能

+0

UTF-8不是唯一的charset這些引號。 – 2012-03-10 16:35:15