2013-01-20 90 views
3

我有一些字符串阿拉伯語編碼和烏克蘭(cyrillyc)的話,這樣的:轉換阿拉伯數字HTML實體字符通過PHP

$string = "اِئْتِلافِيٌّ - коаліційний, гармонійний;"; 

,我想獲得字符(阿拉伯語)這不是所有的「& #XXXX;「`秒。

如果我把這個字符串轉換成html,我得到了我想要的: 「ائتلافي - коаліційний,гармонійний;」

但是,當我使用html_entitis_​​decode時,它什麼都不做。 (因爲阿拉伯語編碼不支持此功能,只是基本的ASCII)。 所以,請告訴我該怎麼做才能得到與瀏覽器解釋器相同的結果?

回答

1

你的PHP版本可能是年紀比5.4.0,從而html_entity_decode沒有使用UTF-8

使用的編碼。如果省略,則此參數的缺省值是5.4.0之前的PHP版本中的ISO-8859-1,而PHP 5.4.0及之後的版本是UTF-8。

http://php.net/manual/en/function.html-entity-decode.php


嘗試以下操作:

$decoded_string = html_entity_decode($string, ENT_COMPAT | ENT_HTML401, "UTF-8"); 

View output here on Codepad

+0

我使用PHP 5.3.13,thrue。問題的一部分是我用來編碼的文本是ANSI編碼,所以在轉換後,我總是得到一半的文本編碼錯誤。感謝幫助 –