Laravel 5.2 未编码或未编码的 Unicode 字符 blade
Laravel 5.2 Unicode Characters not encoded with or without 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 的情况下打印它时,它工作正常。所以我希望数据库没有问题。
帮我解决这个问题。
尝试以下操作:
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();
在结果字符串上使用 htmlentities($string, UTF-8),然后在 laravel blade 中打印它。
您好,问题已经解决。我已经按如下方式更改了数据库配置,现在它可以正常工作了。
'charset' => 'latin1',
'collation' => 'latin1_swedish_ci',
我的控制器方法包括如下代码
$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 的情况下打印它时,它工作正常。所以我希望数据库没有问题。
帮我解决这个问题。
尝试以下操作:
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();
在结果字符串上使用 htmlentities($string, UTF-8),然后在 laravel blade 中打印它。
您好,问题已经解决。我已经按如下方式更改了数据库配置,现在它可以正常工作了。
'charset' => 'latin1',
'collation' => 'latin1_swedish_ci',