CKEditor charset

六眼飞鱼酱① 提交于 2019-12-08 10:51:02

问题


I updated my web app to use UTF-8 instead of ANSI.

I did the following measures to define charset:

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

I also edited the CKEditor config to remove htmlentities because I need the correct character (i.e. é and not &eacute;) for MySQL fulltext search.

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

In the database (phpMyAdmin view) and on normal text fields output (HTML, <input> or <textarea>), everything looks fine (I see é, not &eacute;, not é, yay).

However, CKEditor has some trouble with the encoding. See attached image for the same field taken from the database, displayed in a textarea, then in a textarea repalced by CKEditor:

This seems to be in the CKEditor JavaScript code (probably a fixed charset), but I can't find it in the config. Again, since the é displays correctly in normal HTML (real UTF-8 é, not &eacute; nor é), I'm quite sure it's not the PHP/MySQL query that's wrong (but I might be mistaken).

EDIT: This seems like a symptom of applying htmlentities, which by default is encoded in Latin-1, on UTF-8 text. There is either a possibility of using htmlspecialchars or to specify the charset ("utf-8"), but I don't know where to modify that in CKEditor.


回答1:


This thread seems bit dated but answering it to help anyone looking for a response.

To allow CKEditor to process the character é as é and not &eacute; set the config for entities_latin to false, as below:

config.entities_latin = false;

Or, you may just want to set following options to false:

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



回答2:


It was my approach that was wrong, not CKEditor's. Was looking in the wrong file and missed the UTF-8 encoding on a htmlspecialchars.




回答3:


You can also use in your database connection: $connection->query("SET NAMES 'utf8'"); And remember to set db, and/or table Collation to utf8... I prefer utf8_general_ci



来源:https://stackoverflow.com/questions/6653307/ckeditor-charset

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!