Php 编辑字符集
我更新了我的web应用程序,使用UTF-8而不是ANSI 我采取了以下措施来定义字符集:Php 编辑字符集,php,mysql,html,encoding,ckeditor,Php,Mysql,Html,Encoding,Ckeditor,我更新了我的web应用程序,使用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 在数据库(phpMyAdmin视图)和正常文本字段输出(HTML、或)中,一切看起来都很好(我看到é,不是é
mysql_set_charset("utf8"); // PHP
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> // HTML
utf8_general_ci // In MySQL
在数据库(phpMyAdmin视图)和正常文本字段输出(HTML、
或
)中,一切看起来都很好(我看到é
,不是é;
,不是Ã
,耶)
然而,CKEditor在编码方面有一些问题。请参阅从数据库中获取的相同字段的附加图像,该字段显示在文本区域中,然后显示在CKEditor重新计算的文本区域中:
这似乎在ckeditorjavascript代码中(可能是一个固定的字符集),但我在配置中找不到它。同样,由于é
在普通HTML中正确显示(真正的UTF-8é
,而不是é;
或é的
),我很确定不是PHP/MySQL查询出错(但我可能弄错了)
编辑:这似乎是在UTF-8文本上应用
htmlentities
的症状,默认情况下,它是用拉丁语1编码的。有可能使用htmlspecialchars
或指定字符集(“utf-8”),但我不知道在CKEditor中在哪里修改该字符集这是我的方法错了,而不是CKEditor的方法。在查找错误的文件时,错过了htmlspecialchars上的UTF-8编码
错误的是我的方法,而不是CKEditor的方法。正在查找错误的文件,并且错过了htmlspecialchars
上的UTF-8编码。此线程似乎有点过时,但回答它可以帮助任何正在查找响应的人
允许CKEditor
将字符ee
处理为ee
而不是é
;将实体的配置设置为false
,如下所示:
config.entities_latin = false;
或者,您可能只想将以下选项设置为false:
config.entities = false;
config.basicEntities = false;
这条线索似乎有点过时,但回答它可以帮助任何人寻找答案
允许CKEditor
将字符ee
处理为ee
而不是é
;将实体的配置设置为false
,如下所示:
config.entities_latin = false;
或者,您可能只想将以下选项设置为false:
config.entities = false;
config.basicEntities = false;
您还可以在数据库连接中使用:$connection->query(“设置名称‘utf8’”)代码>
并记住将db和/或表排序规则设置为utf8。。。我更喜欢utf8\u general\u ci
您也可以在数据库连接中使用:$connection->query(“设置名称“utf8”)代码>
并记住将db和/或表排序规则设置为utf8。。。我更喜欢utf8\u general\u ci