在laravel中的db中显示summernote中的图像
Posted
技术标签:
【中文标题】在laravel中的db中显示summernote中的图像【英文标题】:Display images inside summernote from db in laravel 【发布时间】:2020-11-29 03:48:39 【问题描述】:我正在开发一个 laravel 项目,该项目应该从数据库中获取主页内容(html 内容)并将其显示在 Summernote 富文本编辑器中。 Summernote 可以很好地显示我的 HTML 内容,但不显示图像。在检查summernote中显示的代码时,它已将/字符替换为“”。如果直接粘贴在 textarea 中而不是从 dB 中获取,则会显示相同的图像。我尝试了一些在网上和 *** 上找到的解决方案,但它们对我不起作用。
$(document).ready(function()
$('#summernote').summernote(
tabsize: 2,
height: 400
);
);
<form method="post">
<div>
<textarea class="summernote" id="summernote" name="editordata"><div class="row-iconbox our-support-block">
!!$cms_home->homepage_content!!
</textarea>
</div>
</form>
【问题讨论】:
【参考方案1】:深入挖掘 /
字符被 ""
替换,mysql 在存储或更新时将 \
放在每个 "
之前,因此在从数据库加载 HTML 内容时找不到图像地址。
示例 HTML
<img src="/storage/img/icon1.svg" />
以 dB 存储后的 HTML 内容
<img src=\"/storage/img/icon1.svg\" width=\"100\" height=\"100\" />
解决方案
1.检查 UTF 编码
在终端打开Mysql,将DATABASE_NAME、TABLE_NAME分别替换为你的db_name和table_name。
SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA WHERE CCSA.collation_name = T.table_collation AND T.table_schema = "DATABASE_NAME" AND T.table_name = "TABLE_NAME";
2。如果Encoding不是utf8,把数据库和表改成utf8编码
see how to do this
3.将此代码以 HTML 格式添加到您的 <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
【讨论】:
以上是关于在laravel中的db中显示summernote中的图像的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5 和 Summernote - 上传的图片未显示
从 Mysql DB 检索后,summernote 显示 html 代码