修复了在PHP文件中错误地显示编码的问题

有没有办法修复通过phpquery :: newDocument运行这个HTML标记后显示不正确的字符? 在原始文档中会出现-Classics和现代女性之间的双引号,在用phpquery创建新文档后最终显示不正确。

    //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);

原始产出:曼谷史密斯先生庆祝“现代女性经典”。

新文件输出:曼谷史密斯先生与现代女性一起庆祝“古典经典”。


  • 您需要使用UTF-8 without BOM保存页面, UTF-8 without BOM编码。
  • 将这个标题添加到脚本的顶部:

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

  • [编辑]:如何将文件保存为不含BOM的UTF-8:

    在OP请求中,您可以在Windows上执行以下操作:

  • 下载Notepad ++。 这是一个令人敬畏的文本编辑器,你应该使用。
  • 安装它。
  • 在包含此代码的Notepad ++中打开PHP脚本。 您正在进行所有编码的页面。 是的,你的电脑上有这个文件。
  • 在Notepad ++中,从顶​​部的编码菜单选择“转换为无BOM的UTF-8”。
  • 保存文件。
  • 通过FTP或任何您使用的上传到您的网络服务器。
  • 现在,运行该脚本。

  • 我有同样的问题,但是当我添加

    ob_start();
    

    到第一线

    ob_end_flush();
    

    它似乎在工作


    你在<head>元素中有这个:

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

    下一门课程将是使用HTML实体来显示这些字符。

    链接地址: http://www.djcxy.com/p/34673.html

    上一篇: Fix incorrectly displayed encoding on an html document with php

    下一篇: "Warning: Cannot modify header information