2014-02-27 62 views
0

我有一些mysqldb系列劇集。php替換所有引用形式

但是,當我拿這個和回聲它,我得到了一個奇怪的廣場,其中有一個問號。

我想將所有這些替換爲任何東西或更合適的東西。

我用Google搜索我的屁股,並找到解決方案,雙引號,但我想匹配所有形式的報價

這裏的功能是一些例子

「資深曬黑」

高級曬黑

市長

市長

不知道這些英文名字,這就是爲什麼我張貼的例子:) 我開始用PHP昨天第一次,所以請好:)

+0

什麼是你的分貝數據 –

+0

捲曲報價是「雙引號」(U + 201C和U + 201D)和「單引號」(U + 2018和U + 2019 )。問號是「替換字符」(U + FFFD)。 – cmbuckley

回答

0

當您迴應來自數據庫的內容,確保你有charset元標記設置爲utf-8。

HTML文檔

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

而在PHP任何輸出前:

header('Content-Type: text/html; charset=utf-8'); 

而且最後設置MySQL的傳輸字符集:

PDO:

$db->query("SET NAMES utf8"); 

還是老校友:

mysql_query("SET NAMES utf8"); 

,雖然你在它,改變MySQL table collation to UTF8_unicode or UTF8_general

,你甚至可以添加一些魔法的.htaccess:

AddDefaultCharset utf-8 

我有這很多次的字符集問題,所以我知道在哪裏找到它們:)

+0

哦,很多東西要做:) 是否有可能在服務器級別上設置它 我有但這只是解決了åäö問題:) 女巫是做到這一點的最快方式,或者我應該每次都從mysql和echo結果中獲取所有內容嗎? – andersson123

+0

如果可能,最好的方法是將MySQL表的排序規則更改爲utf8-unicode或utf8-general_ci。並使用查詢SET NAMES utf8將PHP-MySQL傳輸字符集設置爲UTF8。然後重新導入你在桌子上放置的所有東西。最後添加元字符集和標題內容類型告訴瀏覽器如何顯示字符 –

+0

好吧,我發現如何將我的數據庫更改爲UTF_unicode,但從來沒有聽說過PHP-「MySQL轉換字符集」是在MySQL或PHP服務器? – andersson123