9

この HTML マークアップを phpquery::newDocument で実行した後に不適切に表示される文字を修正する方法はありますか? phpquery を使用して新しいドキュメントを作成した後、元のドキュメントの -Classics with modern Woman- の前後に二重引用符が予定されており、不適切に表示されます。

    //Original document is UTF-8 encoded
$raw_html = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body><p>Mr. Smith of Bangkok celebrated the “Classics with modern Woman”.</p></body></html>';
print($raw_html);

$aNew_document = phpQuery::newDocument($raw_html);
print($aNew_document);

元の出力: バンコクのスミス氏は、「モダンな女性とクラシック」を祝いました。

新しいドキュメントの出力: バンコクのスミス氏は、モダンな女性とともに「クラシック」を祝いました。

4

4 に答える 4

26
  1. UTF-8 without BOMページをエンコード して保存する必要があります。
  2. このヘッダーをスクリプトの上に追加します。

    header("Content-Type: text/html; charset=UTF-8");

[編集]: BOM なしの UTF-8 としてファイルを保存する方法:

OP リクエストに応じて、Windows で実行できる方法は次のとおりです。

  1. Notepad++をダウンロードします。ぜひ使っていただきたいテキストエディタです。
  2. インストールします。
  3. このコードを含む PHP スクリプトを Notepad++ で開きます。すべてのコーディングを行っているページ。はい、あなたのコンピュータ上のそのファイル。
  4. Notepad++ で、上部の [エンコード] メニューから [BOM なしで UTF-8 に変換] を選択します。
  5. ファイルを保存します。
  6. FTP などを使用して Web サーバーにアップロードします。
  7. 次に、そのスクリプトを実行します。
于 2010-08-28T03:32:33.227 に答える
3

私は同じ問題を抱えていましたが、追加したとき

ob_start();

最初の行へ

ob_end_flush();

最後までそれは働いているようです

于 2013-03-01T07:51:38.753 に答える
1

要素にこれがあり<head>ます:

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

次のコースは、HTML エンティティを使用してこれらの文字を表示することです。

于 2010-08-28T03:32:02.283 に答える