使用webpack-encore进行symfony和编码的随机错误

时间:2019-04-17 22:29:11

标签: symfony webpack character-encoding webpack-encore

我在symfony中使用webpack-encore有一个随机问题。刷新页面时,我遇到了一个问题:

  

“在呈现​​模板期间引发了异常   (“警告:htmlentities():不支持charset'throwAt',假设   utf-8“)。”

我刷新了,我有:

  

“在呈现​​模板期间引发了异常   (“警告:htmlentities():不支持字符集“ handler”,假设   utf-8“)。”

我刷新了,我的页面很好。

这是一个循环...(太奇怪​​了!)

在其他页面上,我看不到循环。如果我可以刷新,也许可以工作,也许可以。

我做了一些测试。如果我在TagRenderer.php中更改此行(功能:convertArrayToAttributes;第114行):

  

返回sprintf('%s =“%s”',$ key,htmlentities($ value));

与:

  

返回sprintf('%s =“%s”',$ key,htmlentities($ value,ENT_COMPAT |   ENT_HTML401,“ ISO8859-1”));

一直有效。但是我不确定那是个好解决方案。

当我在“ htmlentities($ value)”行之前转储“ $ value”时,该值为:“样式表”。

当我重新启动计算机时,此问题消失了,但是随着时间的流逝,它变成了直肠!

你有什么主意吗?

有关信息: 我在docker映像上。 我的源代码是UTF-8

编辑:显然,我在刷新之前,之后和之间清理缓存(通过命令或删除文件夹),但没有任何改变。

1 个答案:

答案 0 :(得分:0)

我自己流口水了两天,试图解决这个问题。实际上,这是您在 CKEditor 中进行文本编辑的地方。

在测试不同的东西时,我意识到我们需要在|类的convertArrayToAttributes方法中添加TagRenderer原始数据,而不是:

return sprintf ('%s = "%s"', $key, htmlentities ($value));

宁可:

return sprintf('%s = "%s"', $key, htmlentities($value, ENT_COMPAT | ENT_XHTML, 'utf-8'));