保存功能是裁剪字符串- laravel


Save function is cropping strings - laravel

我正在保存一些字符串到数据库(mysql),但laravel总是保存这个,例如"Dru"而不是"Društvo"。我该如何解决这个问题?它的裁剪字符串位于带caron的字符处。如果我手动保存字符串,然后取回它laravel会正确显示它但如果我在视图文件中写入相同的字符串,我只会得到。有解决方案吗?

  1. 确保数据库字符集/联盟为UTF-8
  2. 在您插入这些俄罗斯字符的页面(表单,文本区),确保编码是UTF-8,通过设置Content-Type为text/html; charset=utf-8.在俄罗斯文本直接输入到表单。
  3. 在处理此表单的处理页面上,将其插入到数据库中,确保执行SET NAMES utf8,以便在插入数据之前将其存储为UTF-8 ,在单独的查询中。
  4. 当你在视图中呈现数据库中的内容时,确保content - type是text/html; charset=utf-8

确保内容类型为而不是 windows-1251或iso-8859-1/latin1。请确保数据库字符集/合并不是ISO-8859-1/Latin1。

mysql存储字符的第二种方式:

连接到数据库后尝试调用mysql_set_charset('utf8');。我认为这与执行SET NAMES查询类似,但由于PHP手册说建议在SET NAMES查询上使用该函数,所以我尝试一下。

最后,同样,当你显示你的内容时,你可以尝试。同样,当你显示你的内容时,你可以尝试echo htmlentities($string, ENT_COMPAT, 'UTF-8');

我在laravel有同样的问题,但我想出了这个方法。

写在你的app/config/database.php

'charset' => 'utf8', 'collation' => 'utf8_unicode_ci',在mysql数组中。

如果已经存在,请确保将表列设置为utf8_unicode_ci。

Thank you