Vous utilisez DOMDocument pour analyser le HTML, mais l'encodage semble être perdu lorsque vous chargez le HTML. Les caractères japonais dans le code HTML sont remplacés par du texte tronqué, alors qu'ils s'affichent correctement lors de la sortie de la chaîne HTML directement via echo.
DOMDocument suppose que la chaîne d'entrée est au format ISO-8859-1. (le jeu de caractères par défaut HTTP/1.1) par défaut. Lors de l'analyse des chaînes UTF-8, cette hypothèse incorrecte entraîne une mauvaise interprétation, conduisant à des caractères tronqués.
Pour garantir que DOMDocument charge la chaîne HTML avec le codage correct, vous disposez de plusieurs options :
Voici un exemple utilisant une déclaration méta charset :
$profile = '<p>イリノイ州シカゴにて、アイルランド系の家庭に、9</p>'; $dom = new DOMDocument(); // Add meta charset declaration $contentType = '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">'; $dom->loadHTML($contentType . $profile); echo $dom->saveHTML();
Cela chargera la chaîne HTML avec le codage UTF-8 correct , en préservant les caractères japonais originaux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!