【问题标题】:'fi' displaying incorrectly in database'fi' 在数据库中显示不正确
【发布时间】:2012-08-05 21:03:17
【问题描述】:

我有一个带有以下内容的 mySQL 数据库

例如 微观经济学。

“理论”

或: 资源分配修改。

由于某种原因,已输入(通过 CKEditor)的文本已更改,因此 的任何实例都在数据库中作为“ﬔ。我相信这与 HTML 实体有关。文本(我相信)是从 Word 文档中复制粘贴的,这可能是问题的一部分。

如何(在 PHP 或 mySQL 中)将“ﬔ的所有实例更改为 ?当由 TCPDF 呈现为 PDF 时,它会显示 ? (例如,财务 = ?财务,重要 = 重大)

提前致谢。

【问题讨论】:

  • 为什么不修复整个管道中的字符集?
  • 另外,$ charinfo fi U+FB01 LATIN SMALL LIGATURE FI
  • 这看起来是一个有趣的选项,我可能会在以后进一步调查 - 现在我需要一个非常快速的解决方案! :)
  • 一直使用 utf-8 就可以了
  • 在任何地方都使用 utf8 编码。它可能会解决这些问题。 (嗯,这正是 Esailija 写的。所以我的意思是:+1 。:-))

标签: php mysql html entity


【解决方案1】:

此语句将更正包含“ﬔ的列的所有错误实例

Update table Set 
  column = replace(column, 'ï¬', 'fi')

【讨论】:

  • 除非它不会,因为它实际上是三个字符。
  • UPDATE courseconf SET courseoutline = REPLACE(courseoutline, 'ï¬', 'fi') 似乎可以解决 90% 的情况
  • 这是一个快速修复方法,而不是解决问题根源的方法。感觉就像驾驶一辆没有刹车的汽车,只是说(发生事故后):“他们将更换车库里所有损坏的零件。”。
  • 他只需要一个快速修复,因为从 Word 文档中复制粘贴了一些东西。当您使用 CKEditor 时,您可以使用“从 Word 按钮粘贴”。
  • @user1571215:不幸的是,现在其他连字都坏了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-07
  • 2023-04-02
  • 1970-01-01
  • 2017-05-09
  • 2016-12-04
相关资源
最近更新 更多