[SQLite]日本語が暗号化されてしまうのを解消したい
解決したいこと
LaravelでパラメーターのIDに結び付いたDBデータを取得したいです。
nameカラムが日本語表記の時に暗号化された状態で表示されてしまいます。
DBはSQLiteを使っています。
nameの値を日本語で表示させる方法を教えてください。
発生している問題・エラー
テーブルの情報
該当するソースコード
index.blade.php
<!DOCTYPE html>
<html lang="ja">
<head>
<title>Index</title>
</head>
<body>
<h1>Hello/Index</h1>
<p>{{$msg}}</p>
</body>
</html>
HelloController.php
<?php
namespace App\Http\Controllers;
use App\Models\Person;
use Illuminate\Http\Request;
class HelloController extends Controller
{
public function index(Person $person)
{
$data = [
'msg' => $person,
];
return view('hello.index', $data);
}
public function other(Request $request)
{
$data = [
'msg' => $request->bye,
];
return view('hello.index', $data);
}
}
web.php
<?php
use App\Http\Controllers\HelloController;
use App\Http\Controllers\Sample\SampleController;
use App\Http\Middleware\HelloMiddleware;
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
Route::group(['middleware' => HelloMiddleware::class], function () {
Route::get('/hello', [HelloController::class, 'index']);
Route::get('/hello/other', [HelloController::class, 'other']);
});
ROute::group(['namespace' => 'Sample'], function () {
Route::get('/sample', [SampleController::class, 'index']);
Route::get('/sample/other',[SampleController::class, 'other']);
});
Route::get('hello/{person}', [HelloController::class, 'index']);
Person.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Person extends Model
{
use HasFactory;
}
解決済み(自分用メモ)
JSON_UNESCAPED_UNICODEを使う。
{{$msg->toJson(JSON_UNESCAPED_UNICODE)}};
1