【问题标题】:Weird characters in a Microsoft Word document won't export/can't be searchedMicrosoft Word 文档中的奇怪字符无法导出/无法搜索
【发布时间】:2012-10-16 20:29:13
【问题描述】:

我有一份草草撰写的文档。这是一个包含西里尔字符的字典。大多数字典都是可以管理的,但我遇到了一件我需要帮助的事情。单词中有重音字母,它们大多被正确格式化为带有 unicode 重音的字母(因此形成一个字母)。然而,有一些非常特殊的字母看起来类似于:a;´(其中“a”是任意西里尔字母)。你会期望 á 代替它。但是,如果只有这个东西可以导出到,比如说 HTML 并在文本编辑器中操作,它本身就不是问题。问题是 Word 将这个“事物”视为单个字符/实体,并且

  • 导出时完全省略
  • 复制时只能粘贴到记事本中(将其翻译成三个单独的字符),粘贴到写字板时根本不会出现。
  • 在 Word 中运行搜索时,将找不到字母,既找不到实际字符,也找不到完全复制/粘贴的组合。
  • 在任何其他软件(例如 Libre Office)中打开文档时,该字母会消失

此时我正在尝试:

  • 了解这个组合到底是什么
  • 运行搜索/替换操作以查找并清除所有这些错误

Here's 一个示例 Word 文件。

以下是相关单词/字母的截图:

正确输入时应显示为“скре́пка”。

【问题讨论】:

  • Avast!声称问题中链接的资源已被 URL:Mal 感染。
  • 这在任何意义上都不是编程问题,因此在这里是题外话。关于 Word 自动化或 VBA 脚本的问题在这里是合适的; Word的使用一般都不会。 FAQ 提供有关此处适用的问题类型的更多信息。投票结束并迁移到更合适的SuperUser
  • Ken,技术上不是,但我的最终目的是。我需要将文档分解成小部分,并通过导出和运行正则表达式搜索/替换查询将其放入数据库中。所以目的(至少)是编程。
  • 乔:好的。所以如果我问一个关于我应该买什么样的电脑的问题,如果有一天我打算用它来写代码,这就是话题吗?抱歉——我不这么认为。 :-)

标签: ms-word diacritics fieldcodes


【解决方案1】:

“字符”似乎是“eq”(方程式)类型的 Word 字段。这是带有切换域代码的字段:

如果它是一个大文档,您可以尝试创建一个 VBA 例程来删除字段并用相应的字符替换它们。

【讨论】:

  • 哇,谢谢!我在上下文菜单中错过了这样一个简单的解决方案。既然我已经暴露了符号,替换它们就不成问题了。
【解决方案2】:

假设@Anonimista 的分析是正确的,我认为是正确的,您可以通过在 Word 中运行一些搜索和替换操作来修复文件,例如替换^19eq \o(е;´)^21 由 е́ (后者是西里尔字母 е 后接重音符号 U+0301)。这很乏味,因为您需要分别为每个元音执行此操作(以及大写元音)。但是我找不到在这种情况下使用通配符的方法;用于字段开始和结束的代码 ^19 和 ^21 仅在未启用通配符时起作用。

【讨论】:

  • 谢谢尤卡。搜索每个单独的元音一点也不费力!
猜你喜欢
  • 2020-02-20
  • 1970-01-01
  • 1970-01-01
  • 2022-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多