実現したい事
他サイトのタイトルを取得するコードを書いたのですが、日本語が文字化けしてしまいます。
その文字コードを設定する方法が分からないです。
問題のコード
php
1$url = "https://exmple.com"; 2//HTMLを取得 3$html = file_get_contents($url); 4$newDocument = new DOMDocument(); 5libxml_use_internal_errors( true ); //エラー対策 6$newDocument->loadHTML($html); 7libxml_clear_errors(); //エラー対策 8$newstr = $newDocument->saveXML(); 9$newobj = simplexml_load_string($newstr); 10//連想配列に格納 11$html_array = json_decode(json_encode($newobj), true); 12//タイトルを抽出して出力 13echo $html_array['head']['title'];
文字化け時の表示
text
1ãæ大éã«ã楽ããããããããã®æ©è½ãå©ç¨ãã¦ã
このような表示になってしまいます。
所得時に設定するのでしょうか。それともサーバー側で設定するのでしょうか。
よろしくお願いします。
環境
Windows8 xampp バージョン:v3.2.4
追記
検索して
php
1$html = mb_convert_encoding($html, "UTF-8");
とやったのですがまだ
text
1ãæ大éã«ã楽ããããããããã®æ©è½ãå©ç¨ãã¦ãFortntieãä»ã¾ã§ãã楽ãããï¼ï¼ä»ã®
変わらず文字化けしています。
補足2
試しに、
php
1echo mb_detect_encoding($html);
で文字コードを検証してみたところ、「UTF-8」と出ました。
なぜUTF-8で文字化けするのでしょうか
回答3件
あなたの回答
tips
プレビュー