PHP Simple DOM を使用して URL を取得します。URL コンテンツを画面に出力すると、次のようになります。
you’ll
それ以外の:
you'll
私が走れば
$str = utf8_decode('you’ll');
echo $str;
私は得る:
you?ll
私は明らかにエンコーディングの基本を理解していません。誰かが私に欠けているものを教えてもらえますか?
何かをする前に、エンコーディングをUTF-8に設定してみてください。これでphpファイルを開始します:
<?php
header('Content-Type: text/html; charset=UTF-8');
mb_internal_encoding('UTF-8');
?>
utf8_decodeなしでエコー/印刷してみてください。
注:mysql(postgesql)を使用している場合は、これも使用してください。
<?php
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET NAMES UTF8");
?>
編集:また、PHPファイルをUTF-8(BOMなし)形式で保存してください。
出力しているドキュメントをUTF-8であると宣言する必要があります(実際にはUTF-8であると想定しています)。これにより、ブラウザーは何を期待できるかを認識できます。エンコーディングを変換することもできますが、ブラウザに表示するだけの場合は、コンテンツをそのままにしておくことをお勧めします。
何かを出力する前に、次の行をPHPに追加します。
header('Content-Type: text/html; charset=utf-8');
...そしてこのメタタグをあなたの:の最初の子要素として追加します<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />