保存功能正在裁剪字符串 - laravel

时间:2015-08-10 16:27:23

标签: php laravel

我将一些字符串保存到数据库(mysql)中,但是laravel总是将其保存为例如“Dru”而不是“Društvo”。我该如何解决这个问题?它的裁剪字符串与caron的角色。如果我手动保存字符串然后获取它laravel正确显示它但如果我在视图文件中写相同的字符串我只是得到 。任何解决方案?

2 个答案:

答案 0 :(得分:1)

  1. 确保数据库charset / coallition为UTF-8
  2. 在页面上插入这些俄语字符(表单,textarea),确保编码为UTF-8,将Content-Type设置为text/html; charset=utf-8.直接输入俄语文本表格输入。
  3. 在处理此表单的处理页面(将其插入数据库)中,请务必执行SET NAMES utf8,以便在插入之前将其存储为UTF-8 数据,事先在单独的查询中。
  4. 在视图中呈现数据库中的内容时,请确保内容类型为text/html; charset=utf-8
  5. 确保内容类型 windows-1251或iso-8859-1 / latin1。确保数据库字符集/ coallition不是ISO-8859-1 / Latin1。

    在mysql中存储角色的第二种方式:

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

    最后, 此外,当您显示内容时,您可以尝试另外,当您显示内容时,您可以尝试echo htmlentities($string, ENT_COMPAT, 'UTF-8');

    我在laravel中遇到了同样的问题,但我想出了这个问题。我知道是否有任何疑问。

答案 1 :(得分:0)

将此内容写入app/config/database.php

mysql数组中的

'charset' => 'utf8', 'collation' => 'utf8_unicode_ci',

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

谢谢