【问题标题】:replacing diacritics before form submit in pdf form在以pdf形式提交表单之前替换变音符号
【发布时间】:2017-01-30 18:08:25
【问题描述】:

我有一个 PDF 表单,它使用 php 将数据提交到 mysql 数据库。

问题是当我按下提交按钮时,我想从所有字段中删除变音符号(在数据到达 php 脚本之前)。 例如,我在 PDF 表单中有一个包含“ă”的字段和另一个包含“î”的字段。当我按下提交按钮时,在将数据发布到 php 之前,我需要一个 javascript 来转换为“a”和“i”......这一切都应该发生在 PDF 表单中。

我已经尝试用 str_replace 替换 php 提交脚本中的字符,但是现在这样做已经太晚了,因为这些字符已经从 PDF 输出中泄露了。

有什么想法吗?

【问题讨论】:

  • 解决问题的真正原因而不是解决症状不是更有意义吗?您希望将数据保持原样。您“只需”修复您的设置,以便 所有 组件都能够使用它。
  • pdf 表单不像普通的 html 表单那样工作,从 pdf 迁移数据比设置数据库接受变音符号更复杂......即。我最初帖子中的那些变音符号都用“。”表示。关于 pdf 输出....pdf 不知道如何编码。
  • PDF 格式当然对您可以使用的字符集没有任何限制。如果您用于显示 PDF 文档的渲染软件有问题,请检查您的字符编码。

标签: javascript forms pdf diacritics


【解决方案1】:

检查您的 PDF/PHP 端的字符编码是否与 MySQL 端相同,例如确保它们都是 UTF-8。

或者,如果您想使用 Javascript 执行快速修复,这将起作用。

var message = "hello this is ă test"; 
var character = "ă"; 
var replaceWith = "a"; 

var new_text = message.replace(character,replaceWith);

console.log(new_text);

【讨论】:

  • 替换将适用于U+0103,但该字符也可以包含两个代码点(a 和一个combining breve)。最好为此使用适当的工具。
猜你喜欢
  • 1970-01-01
  • 2012-11-25
  • 1970-01-01
  • 1970-01-01
  • 2021-09-02
  • 2010-10-26
  • 2012-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多