我有一个 ANSI 编码的 CSV 文件,其中包含许多“问题”特殊字符。我正在寻找一个脚本(最好是 php 或 javascript),我可以使用它来检查 CSV 中的每条记录并识别那些有问题的字符。
循环遍历 CSV 记录没有问题,所以我只是在寻找一种好方法来确定单个字符串是否包含任何字符,如果该字符串直接插入到 UTF-8 编码文件中会导致问题。
背景:我使用脚本将 ANSI CSV 直接转换为 UTF-8 XML,而没有先将 CSV 转换为 UTF-8。我的愚蠢举动。该脚本为包含问题字符的记录创建了 XML 实体,但脚本尝试在其中插入包含问题字符的文本的所有 textNode 最终都为空。我现在正在寻找的是一种解析原始 CSV 文件并识别所有包含问题字符的记录的方法。拥有约 18,000 条记录,这不是我想手动完成的工作 :-)
澄清 我应该首先将 ANSI CSV 转换为 UTF-8,然后在 UTF-8 编码的 CSV 文件上运行我的“转换为 XML”脚本。相反,我跳过了第一步,在 ANSI 编码的 CSV 文件上运行了我的“转换为 XML”脚本。为所有单元格创建了 XML 实体,但带有诸如 —(em dash)和 ½(一半)字符的单元格的 XML 实体都是空的。“转换为 XML”脚本无法将这些字符串插入 UTF-8 编码的 XML 文档(在 PHP 中使用 DOMDocument)。