我正在使用使用 ckeditor 的后端。config.js 中没有任何变化,因此它会自动将带有重音符号的法语字符转换为 html 实体。
所以如果我输入 é 并检查我看到的 ckeditor 源é
该字段对应的数据库表为utf8_general_ci
页面字符集是:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
所以当我加载前端时,我收到以下信息:
�</p>
如果我在 ckeditor 源中键入 é,它会在页面上正确显示,因为它没有将其转换为 html 实体。
现在,如果我通过以下方式关闭 ckeditor config.js 中的覆盖: config.entities = false;
然后输入 é 并检查 ckeditor 源,它保持为 é 所以我认为这会起作用,
但是在加载前端时出现错误:
Parse error: syntax error, unexpected T_STRING in C:\wamp\www\site\includes\functions\clean_code.php(162) : eval()'d code on line 34
我可以在此处粘贴 clean_code.php 代码,但我认为保持整个站点不变很重要。所以我有点卡住了。我能做些什么?
编辑:
好的,所以我将其追踪到使用以下方法与描述相呼应的修改:
echo stripslashes( tep_sanitize_html( html_entity_decode( stripslashes( $product_info[ 'products_description' ] ) ) ) );
这样做的香草方法是:
<?php echo stripslashes($product_info['products_description']); ?>
所以我不确定为什么这个插件的开发者决定使用 sanitize html 方法以及解码。但是删除它们并将其更改回原来的工作方式。