[英]special characters in facebook canvas
即時通訊在Facebook畫布中遇到特殊字符問題。
我將尚未安裝該應用程序的用戶朋友收錄並顯示出來。 但是,當我顯示它們時,特殊字符看起來好像它們的編碼方式不同。
例如,á顯示為á,é顯示為é,依此類推。
iv嘗試了一些無效的方法:
<?
$search=array('Ã', 'á', 'é','Ã','ó','ú','ñ');
$replace=array('Á', 'á','é','í','ó','ú','ń',);
echo str_replace($search,$replace, $friend_name) ?>
<? echo htmlentities($friend_name) ?>
一些更多信息:我正在使用Facebook的php sdk,並設置了氣象標記:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
謝謝
編輯:應用utf8_decode()並解決了問題。 如果沒有此功能,是否有解決問題的方法?
聞起來像字符編碼問題(UTF,cp1252等),而不是轉義問題( \\htmlspecialchars
)。 檢查您的源和目標編碼; 他們可能不匹配。
順便說一句,值得一提的是,PHP的默認內部編碼從5.4版更改為UTF-8,因此您可能還會遇到由版本不匹配引起的錯誤。
您應該對該文檔進行UTF-8編碼。 這取決於您使用其編碼方式的編輯器。 在notepad ++中,有一個“編碼”選項卡,您應使用不帶BOM的UTF-8。 這解決了我的facebook問題。
即使您設置了meta標簽,這還是不夠的,但是您應該對文檔UTF-8進行編碼。 如果執行此操作,它將使您不必編碼/解碼最相似的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.