【问题标题】:UTF-8 issues with tinymce?tinymce 的 UTF-8 问题?
【发布时间】:2015-09-12 03:22:09
【问题描述】:

在将 word 文档粘贴到 tincymce hmtl 编辑器时,我遇到了一些弯引号和撇号问题,由于某种原因,它会将这些字符转换为 Â、’ 等。

我检查过的内容:

首先,我确保所有的 html 页面都声明了正确的内容类型标签:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

此外,当 var_dumping 输出到浏览器中时,字符显示正确,这让我想到数据库可能没有以 UTF-8 存储。我已经检查过了,当手动插入字符并通过 phpMyAdmin 存储它们时,这些存储非常好。

所以问题似乎出在将数据存储到数据库之前的某个地方,所以为了检查这一点,我将数据附在:

 utf8_encode(string)

就在保存到数据库之前,这解决了问题。现在我觉得这不是一个永久的解决方案,但我似乎无法弄清楚为什么会发生这种情况。

我尝试将 tinyMCE 编码调整为“原始”:

       tinymce.init({
       entity_encoding : "raw"
    });

但这并没有解决问题,任何人都可以了解这里可能发生的事情吗?

【问题讨论】:

  • 您是否尝试将编辑器中的代码保存为 UTF8?
  • @Can 你阅读了完整的帖子吗?编辑器是 tinyMCE。

标签: php html mysql utf-8 tinymce


【解决方案1】:

您期待的是,而不是’,对吗?那是 Mojibake,这通常意味着您未能将表列声明为 CHARACTER SET utf8

不要使用utf8_encode()

【讨论】:

  • 我已经检查了原始帖子中提到的数据库排序规则,并且该表使用的是 utf8 字符集。考虑到通过 phpmyadmin 将文本直接放入数据库时​​,您的建议绝对没有意义,文本很好,只有当文本来自 tinyMCE 时才会出现问题。
  • 我不知道 tinyMCE 是(或不是)在做什么阻碍了它。深入挖掘的一种方法是打开 MySQL 的“一般日志”,运行有问题的语句,关闭一般日志,然后发布日志中的内容。
  • @MichaelRamirez - “数据库”排序规则对问题没有直接影响——相反,列的字符集和连接的字符集是要查看的重要内容。更多关于 Mojibake:stackoverflow.com/questions/38363566/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多