2013-10-18 97 views
1

我在兩個不同的環境中測試完全相同的功能,一個是本地開發環境,另一個是臨時服務器。他們有完全相同的代碼。htmlspecialchars只適用於某些環境

當我做了curl請求到包含功能的每個端點,我得到兩種不同的結果:

本地(PHP 5.4)

//this was the desired output 
<p><span>Awesome water shooting power</span></p> 

分段(PHP 5.3)

//none of the html chars are changed. 
<p><span>Awesome water shooting power</span></p> 

文本的實際字符串正在以如下方式通過htmlspecialchars運行:

htmlspecialchars($req->get('description')) 

我應該在這個htmlspecialchars方法中專門使用所有其他參數,以使其在任何環境中的表現方式都相同嗎?或者是否有可能發生的php.ini級別的問題?

PHP文檔中
+0

你有本地和舞臺服務器的PHP相同的版本,你有他們之間的任何一種代理?你能發佈下載和輸出這個字符串的整個代碼嗎? –

+0

好問題,@IlyaBursov,是的,他們是不同的版本。本地是5.4.x,升級是5.3.x.沒有代理正在發生。 – Kristian

+0

您是否通過終端看到結果,或者您如何輸出結果? – poulping

回答

0

htmlspecialchars

編碼:定義在轉換中使用的編碼。如果省略,則此參數的默認值爲PHP之前版本 至5.4.0中的ISO-8859-1,以及PHP 5.4.0及更高版本中的UTF-8。

所以,基於此,我試着明確設置字段,所以他們不會默認默認不同的東西。

htmlspecialchars($string , ENT_COMPAT, 'UTF-8'); 

現在輸出在兩個不同的環境中是相同的。

相關問題