1

PHP Simple DOM を使用して URL を取得します。URL コンテンツを画面に出力すると、次のようになります。

you’ll

それ以外の:

you'll

私が走れば

$str = utf8_decode('you’ll');
echo $str;

私は得る:

you?ll

私は明らかにエンコーディングの基本を理解していません。誰かが私に欠けているものを教えてもらえますか?

4

2 に答える 2

3

何かをする前に、エンコーディングを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なし)形式で保存してください。

于 2012-08-10T08:42:28.863 に答える
0

出力しているドキュメントを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" />
于 2012-08-10T08:39:51.827 に答える