2011-08-12 55 views
1

所以人物「和」(“”分別)是中性引號(「)的變化。我看到他們在一個數據表中我有一個全功能HTML的,我試圖查找和替換他們使用PHP報價不能正常顯示

首先,我測試,看看如何重現它這裏是我的PHP代碼:。。?

<?php 
echo chr(8220); 
?> 

爲什麼不這項工作我試圖在char()功能的其他數字和它工作正常。我已經嘗試將字符集設置爲UTF-8ISO-8859-1但它沒有工作。我如何使這個迴應報價?

我想回應它,因爲我試圖將它集成到php代碼中。我知道我可以複製並粘貼它,但這對我來說太過撲朔迷離。

+0

'回聲「「「'不工作? –

+0

你想用引號做什麼?逃生,刪除或替換?有所有功能3. – Kyle

+0

@ kyle替換。我需要實際的字符,據我所知,你必須在正則表達式中使用實際的字符。 – blake305

回答

0

chr()只會輸出ASCII個字符。 使用echo chr(34)。 34是ASCII表中雙引號的十進制數。標準ASCII表中只有128(0-127)個字符。 PHP支持256個字符的擴展ASCII。

0

你試過了功能mb_convert_encoding嗎?

請參閱this關於如何從其html編碼中獲取字符的php文檔的說明。這裏是人定義的函數(從該鏈接直接複製):

function unichr($u) { 
    return mb_convert_encoding('&#' . intval($u) . ';', 'UTF-8', 'HTML-ENTITIES'); 
} 
2

嘗試:

$str = str_replace(chr(147), '"', $str); // left double quote 
$str = str_replace(chr(148), '"', $str); // right double quote 

147148分別等於左和右雙引號。

0

嘗試charset=WINDOWS-1252"

<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1252" >