我们正在使用 Laravel 4 针对旧数据库开发一个新网站。
数据库是只读的,我们无法转换它。
我们有
'charset' => 'cp1251'
在连接中,但是当我们尝试通过 Blade 输出字符串时,我们得到 p>
htmlentities(): Invalid multibyte sequence in argument
深入挖掘我们发现:
{{{ $shopProduct->product->sname }}}
编译为:
<h2><?php echo e($shopProduct->product->sname); ?></h2>
哪里
function e($value)
{
return htmlentities($value, ENT_QUOTES, 'UTF-8', false);
}
有没有办法制作 Eloquent
或PDO
从 MySQL 获取非 UTF-8 编码( cp1251
)并实际使用 UTF-8
在模型中?
注意:我们无法更改服务器上的数据库编码 - 这是我们无法控制的。
最佳答案
将字符集设置为utf8。
'charset' => 'utf8'
关于mysql - Laravel 4 + Blade,但 MySQL 未采用 UTF-8 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17528385/