php - CKEditor 字符集

标签 php mysql html encoding ckeditor

我更新了我的网络应用程序以使用 UTF-8 而不是 ANSI。

我做了以下措施来定义字符集:

mysql_set_charset("utf8"); // PHP
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> // HTML
utf8_general_ci // In MySQL

我还编辑了 CKEditor 配置以删除 htmlentities,因为我需要正确的字符(即 é 而不是 &eacute; )来进行 MySQL 全文搜索。

config.entities = false;
config.entities_latin = false;

在数据库(phpMyAdmin View )和普通文本字段输出(HTML、<input><textarea>)中,一切看起来都很好(我看到了 é,而不是 &eacute;,不是 é,耶) .

但是,CKEditor 在编码方面存在一些问题。请参阅从数据库中获取的相同字段的附加图像,显示在文本区域中,然后显示在由 CKEditor 替换的文本区域中: CKEditor Encoding Problems

这似乎在 CKEditor JavaScript 代码中(可能是固定字符集),但我在配置中找不到它。同样,由于 é在普通 HTML 中正确显示(真正的 UTF-8 é ,而不是 &eacute;é ),我很确定这不是 PHP/MySQL 查询的错误(但我可能弄错了)。

编辑:这似乎是应用 htmlentities 的症状,默认情况下在 UTF-8 文本上以 Latin-1 编码。有可能使用 htmlspecialchars或指定字符集(“utf-8”),但我不知道在 CKEditor 中的何处修改

最佳答案

这个话题似乎有点过时了,但回答它是为了帮助任何寻求回复的人。

允许 CKEditor 将字符 é 处理为 é 而不是 é;将 entities_latin 的配置设置为 false,如下所示:

config.entities_latin = false;

或者,您可能只想将以下选项设置为 false:

config.entities = false;
config.basicEntities = false;

关于php - CKEditor 字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6653307/

相关文章:

php - 按 DESC 和 ASC 对搜索结果进行排序

MYSQL查询TAKING用户的参与位置和所有其他参与者的数量

html - 如何调整伪元素中的图像大小?

html - 为什么在使用 <a href> 标签时我的段落中有空格?

php - Iconv 从 UTF-8 转换为 Windows-1250 不起作用

php - 将 css li 添加到 php?

php - 如何在 PHP 中分配特定大小的内存块?

javascript - 使用 JavaScript 自定义分类下拉列表,无需提交按钮

mysql - 在 Rails 3 中急切加载?

css - 如何填充表格单元格的整个水平空间?