2024_Hello_World
@2024_Hello_World

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

[SQLite]日本語が暗号化されてしまうのを解消したい

解決したいこと

LaravelでパラメーターのIDに結び付いたDBデータを取得したいです。
nameカラムが日本語表記の時に暗号化された状態で表示されてしまいます。
DBはSQLiteを使っています。
nameの値を日本語で表示させる方法を教えてください。

↓このように表示させたい。
スクリーンショット 2024-03-28 171024.png

発生している問題・エラー

スクリーンショット 2024-03-28 165619.png

テーブルの情報

スクリーンショット 2024-03-28 170438.png

該当するソースコード

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

1Answer

Comments

  1. リンクの記事を参照して修正したら日本語で表示することができました!
    unicodeエスケープは初めて聞いたので学習してみます。
    ご回答いただきありがとうございました!

  2. いえ、丸投げ回答ですみません。最初のうちは検索の仕方もわからなくて大変かと思いますが頑張ってください!

Your answer might help someone💌