Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 25.03.2018 03:37:09

Вывод utf8 из BD не коректно

Новичок в Laravel уже взорвал мозг, немогу понять что не так.

MAC Os, MAMP 4 php7.2.1,
CREATE DATABASE `zone23ru_sportGroups` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci */
>>>>>>>>>>>>
        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_520_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
>>>>>>>>>>>>
$sports = DB::table('sports')->get();
return ($sports);
>>>>>>

[{"id":1,"sportname":"\u0424\u0443\u0442\u0431\u043e\u043b","created_at":"2018-03-24 21:37:04","updated_at":"2018-03-24 21:37:04"},{"id":2,"sportname":"\u0411\u043e\u0440\u044c\u0431\u0430","created_at":"2018-03-24 21:37:06","updated_at":"2018-03-24 21:37:06"}]

--------

в artisan все корректно
>>> DB::table('sports')->get();
=> Illuminate\Support\Collection {#755
     all: [
       {#756
         +"id": 1,
         +"sportname": "Футбол",
         +"created_at": "2018-03-24 21:37:04",
         +"updated_at": "2018-03-24 21:37:04",
       },
       {#758
         +"id": 2,
         +"sportname": "Борьба",

в phpMyadmin тоже русский читаемый
--------
кодировки менял не помогает.

Изменено BITRU (25.03.2018 03:38:44)

Не в сети

#2 25.03.2018 14:06:16

Re: Вывод utf8 из BD не коректно

[{"id":1,"sportname":"\u0424\u0443\u0442\u0431\u043e\u043b"

Это корректная JSON-строка, просто символы Юникода (не латиница) здесь записаны в такой форме.

echo json_encode('абц');
  // "\u0430\u0431\u0446"
echo json_encode('абц', JSON_UNESCAPED_UNICODE);
  // "абц"
JSON.parse('"\u0430\u0431\u0446"')
  // "абц"

Не в сети

#3 26.03.2018 11:26:57

Re: Вывод utf8 из BD не коректно

Тоже изиучаю, немного другие ошибки решились таким способом , может вам поможет
'charset' => 'utf8',
'collation' => 'utf8_general_ci',

Изменено rpg2009 (26.03.2018 18:23:05)

Не в сети

Подвал раздела