ホームページ > バックエンド開発 > PHPチュートリアル > -phpQuery コレクションが文字化けして表示される

-phpQuery コレクションが文字化けして表示される

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 12:16:39
オリジナル
2488 人が閲覧しました

オンライン待機中 - phpQueryのコレクションで文字化けが発生します
映画パラダイスのコレクションでの文字化けについて、解決にご協力ください。 。 。 。 。 。 。 。

header("Content-type: text/html; charset=utf-8");
set_time_limit(0);
require_once("../phpQuery) /phpQuery.php");

functionshootCodeBug($data){
$data=mb_convert_encoding($data,'ISO-8859-1','gb2312');
return mb_convert_encoding( $data,'utf-8','GBK');
}

::$defaultCharset="gb2312";
$content = pq("#menu")->html ();
phpQuery::$documents=array(); //キャッシュをクリア

-----解決策のアイデア----- ------これはあなたの不適切な使用法が原因です
phpQuery は HTML 解析に DOMDocument を使用します
と DOMDocument::loadHTML メソッドは <メタ http-equiv に基づいて HTML データをロードします="Content-Type" content="text/html; charset= in the document.XXX"> ドキュメントの文字セットを識別します。
ドキュメント内にそのようなタグがない場合、デフォルトの文字セット ISO-8859-1 が使用されます

したがって、処理されるコンテンツに文字セット宣言タグがない場合は、文字セット宣言タグを追加する必要があります自分で作ってください
$htmlを設定します 解析対象のコンテンツであれば、

は問題なくphpQueryで処理されます

if(! preg_match('/<meta[^>]+charset=/i', $html)) {<br />	$charset = mb_check_encoding($html, 'utf-8') ? 'utf-8' : 'gbk';<br />	$html = sprintf('<meta http-equiv="Content-Type" content="text/html; charset=%s">%s', $charset, $html);<br />}<br />
ログイン後にコピー

もちろんutf-8に変換することも可能ですエンコーディング全体

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート