1

Facebook キャンバスの特殊文字に問題があります。

アプリをインストールしていないユーザーの友達を取得して表示しています。ただし、それらを表示すると、特殊文字はエンコードが異なるように表示されます。

たとえば、á は ã、é は ã などと表示されます。

Ivはうまくいかなかったいくつかのことを試しました:

<? 
$search=array('Ã', 'á', 'é','í','ó','ú','ñ');
$replace=array('&Aacute;', '&aacute;','&eacute;','&iacute;','&oacute;','&uacute;','&nacute;',);

echo str_replace($search,$replace, $friend_name) ?>

<? echo htmlentities($friend_name) ?>

いくつかの詳細情報: 私は Facebook の php SDK を使用しており、mete タグを設定しています:

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

ありがとう

編集: utf8_decode() を適用すると、問題は解決しました。この機能なしで問題を解決する方法はありますか?

4

2 に答える 2

1

エスケープの問題()ではなく、文字エンコードの問題(UTF、cp1252など)のようなにおいがし\htmlspecialcharsます。ソースと宛先のエンコーディングを確認してください。それらはおそらく不一致です。

ちなみに、PHPのデフォルトの内部エンコーディングはバージョン5.4でUTF-8に変更されているため、バージョンの不一致が原因でバグが発生する可能性もあります。

于 2012-05-05T23:31:29.303 に答える