61

テキストを utf8 に、または utf8 から変換しようとしましたが、役に立たないようです。

私は得ています:

"It’s Getting the Best of Me"

そのはず:

"It’s Getting the Best of Me"

このURLからこのデータを取得しています。

4

16 に答える 16

91

HTMLエンティティに変換するには:

<?php
  echo mb_convert_encoding(
    file_get_contents('http://www.tvrage.com/quickinfo.php?show=Surviver&ep=20x02&exact=0'),
    "HTML-ENTITIES",
    "UTF-8"
  );
?>

その他のエンコードオプションについては、 mb_convert_encodingのドキュメントを参照してください。

于 2010-02-18T20:46:49.317 に答える
12

あなたのコンテンツは大丈夫です。問題は、サーバーが送信しているヘッダーにあります。

Connection:Keep-Alive
Content-Length:502
Content-Type:text/html
Date:Thu, 18 Feb 2010 20:45:32 GMT
Keep-Alive:timeout=1, max=25
Server:Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.7 with Suhosin-Patch
X-Powered-By:PHP/5.2.4-2ubuntu5.7

Content-type: text/plain; charset=utf-8このページはHTMLではなく、utf-8エンコーディングを使用しているため、Content-Typeはに設定する必要があります。Mac上のChromiumはISO-8859-1を推測し、説明している文字を表示します。

サイトを管理していない場合は、コンテンツの取得に使用する関数にUTF-8としてエンコードを指定します。私はPHPに精通していないため、正確な方法を知ることができません。

于 2010-02-18T20:47:36.350 に答える
9
于 2013-09-11T14:41:13.190 に答える
5

WordPress サイトでジャンク文字の問題が発生しているためにここにいる場合は、次のことを試してください。

  1. 開けるwp-config.php

  2. コメントアウトしdefine('DB_CHARSET', 'utf8')define('DB_COLLATE', '')

    /** MySQL hostname */
    define('DB_HOST', 'localhost');
    
    /** Database Charset to use in creating database tables. */
    //define('DB_CHARSET', 'utf8');
    
    /** The Database Collate type. Don't change this if in doubt. */
    //define('DB_COLLATE', '');
    
于 2012-06-21T18:08:06.207 に答える
3

ISO 8859-1に存在しない UTF8 文字 (') で標準の文字列関数を使用しているようです。Unicode 互換の PHP 設定と関数を使用していることを確認してください。マルチバイト文字列関数も参照してください。

于 2010-02-18T20:41:04.567 に答える
2

すべてが機能しない場合は、これが最善の解決策になる可能性があります。

<?php
$content="It’s Getting the Best of Me";
$content = str_replace("’", "&#39;", $content);
echo $content;
?>

==または==

<?php
$content="It’s Getting the Best of Me";
$content = str_replace("’", "'", $content);
echo $content;
?>
于 2016-08-18T15:00:26.960 に答える
1

これを試して :

html_entity_decode(mb_convert_encoding(stripslashes($text), "HTML-ENTITIES", 'UTF-8'))
于 2013-10-17T15:22:03.533 に答える
0

リンクを見たところ、UTF-8のように見えます。つまり、Firefox では、View、Character Encoding、UTF-8 を選択すると、正しく表示されます。

したがって、PHP コードを UTF-8 として処理する方法を理解する必要があります。幸運を!

于 2010-02-18T20:40:27.097 に答える
0

use this

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

instead of this

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
于 2013-02-15T10:33:40.783 に答える
0

何もうまくいかない場合は、この mb_convert_encoding($elem->textContent, 'UTF-8', 'utf8mb4'); を試してください。

于 2020-12-11T16:04:58.493 に答える