【问题标题】:Reading special characters from .txt file - PHP从 .txt 文件中读取特殊字符 - PHP
【发布时间】:2013-04-29 13:38:18
【问题描述】:

我正在尝试使用 php/AJAX 在网页上输出 .txt 文件的内容,这适用于其中没有特殊字符的 .txt 文件。但是当 .txt 文件中包含诸如字母重音符号之类的字符时,例如 è,对文件内容的 AJAX 请求返回 null。

根据我运行的测试,我认为问题源于从 word 文档中复制和粘贴 .txt 文件的内容。

例如,如果您从 Word 文档中复制撇号并通过记事本将其粘贴到 .txt 中,则与将撇号直接输入到记事本中的情况不同。 txt 文件。

我的客户当前将 .txt 文件上传到他服务器上的某个文件夹,并通过从 word 复制和粘贴来创建他的内容。有没有办法解决这个问题,以便可以读取这些“复制和粘贴”的特殊字符?

格式差异示例:

复制自文字 - 戴夫的

直接输入 - Dave 的

你看到撇号的不同了吗?

【问题讨论】:

  • 您在记事本中将文件保存为 UTF8 还是 ANSI ?
  • 您需要在 php 或 javascript 中寻找“拉直引号”的解决方案。

标签: php ajax notepad


【解决方案1】:

是否可以在回显之前对包含文本文件的变量执行htmlspecialchars()?

这应该将任何特殊字符转换为 HTML 实体,并且应该可以在网页上查看。

【讨论】:

    【解决方案2】:

    好的))

      1. do not use notepad, ever
      2. save all the files with the utf8 encoding
    

    就是这样,问题解决了

    【讨论】:

      【解决方案3】:

      这些被称为智能报价。您可以按照位于here 的指南在 Word 选项中更改它们。这将是最好的选择,因为它在源头定义了您的预期输出。如果这不是一个选项,即一次有数千个 Word 文件,那么后处理就是要走的路。这可以通过字符的looking up the HTML Entity 并使用查找和替换功能来完成。我建议using PHP to open the text file 使用str_replace() 函数来查找和替换所有出现的不需要/无法显示的字符,这些字符本身可以在数组等中定义。

      【讨论】:

        猜你喜欢
        • 2017-10-02
        • 2015-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-08
        • 2014-01-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多