Laravel 5.2 Unicode不使用或不使用刀片编码的字符

时间:2016-06-21 17:51:51

标签: laravel unicode laravel-5.2 blade

我的控制器方法包括以下代码

$News = DB::table('news')->skip(0)->take(1)->get();
return $News[0]->news_title;

我的数据库配置文件为

'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'username' => env('DB_USERNAME', ''),
        'password' => env('DB_PASSWORD', ''),
        'database' => env('DB_DATABASE', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
],

,输出看起来

தொழிலறà¯à®±à®¿à®°à¯à®•à¯à®•à¯à®®à¯ விடà¯à®¤à®²à¯ˆà®ªà¯ பà¯à®²à®¿ à®®à¯à®©à¯à®©à®¾à®³à¯ போராளிகளà¯

但是当我试图在没有Laravel的情况下打印它时,它的工作正常。所以我希望数据库没有问题。

帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

您好问题已经解决了。我已按如下方式更改数据库配置,现在它的工作正常。

ostream& operator<<(ostream& lhs, FIR_filter* rhs){
lhs << "FIR filter: \n";
rhs->print(lhs, rhs);
return lhs;
}

答案 1 :(得分:0)

尝试以下方法:

public function convertUtf8( $value ) {
    return mb_detect_encoding($value, mb_detect_order(), true) === 'UTF-8' ? $value : mb_convert_encoding($value, 'UTF-8');
}

$News = DB::table('news')->skip(0)->take(1)->get();
return convertUtf8($News[0]->news_title);

如果有效,请告诉我!

顺便问一下,你想要获得第一件商品吗?你可以做得更容易。只需制作News模型并执行以下操作:News::first();

答案 2 :(得分:0)

在结果字符串上使用htmlentities($ string,UTF-8),然后将其打印在laravel blade中。