Неверный формат uuid на сервере sql на MacPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Неверный формат uuid на сервере sql на Mac

Сообщение Anonymous »

Я получаю следующую ошибку:

Код: Выделить всё

    "message": "Malformed UTF-8 characters, possibly incorrectly encoded",
это мой настоящий идентификатор с типом uuid в БД:

Код: Выделить всё

944CC79D-5980-4587-8A52-000A2F11D7D1
это uuid при попытке получить его с помощью php artisan Tinker:

Код: Выделить всё

b"ØÃLöÇYçEèR\0\n/\x11ÎÐ"
Почему это происходит? Я выполнил приведение к строке/uuid в моделях, очистил кеш, но не сработало.
моя среда:
  • mac os, tahoe 26.1 ver
  • php 8.4 отредактировано: я понизил версию до php 8.2, но uuid все равно неверный.
  • laravel 11
  • БД с использованием сервера sql
раньше моя среда была в Windows, и программа работала нормально. ну, потому что uuid не искажен. так что я почти уверен, что в коде нет ничего плохого. Я думаю, это что-то связано с самим Mac. но у моих коллег оно не искажено. он тоже использует Mac. это так странно.
Я хочу, чтобы uuid был передан правильно. не b"ØÃLöÇYçEèR\0\n/\x11ÎÐ"
редактировать:
вот консоль php artisan
просто и обычно. судя по всему, все uuid стали деформированными. не только для пользователей

Код: Выделить всё

php artisan tinker
Psy Shell v0.12.7 (PHP 8.2.29 — cli) by Justin Hileman
> User::first()
[!] Aliasing 'User' to 'App\Models\User' for this Tinker session.
= App\Models\User {#6624
id: b"ØÃLöÇYçEèR\0\n/\x11ÎÐ",
//rest of the data
Я передал эту проблему ИИ, и вот что сказал ИИ:

Код: Выделить всё

The root cause is most likely due to the difference in default encoding between Windows and macOS.
On Windows, many files, input, and CLI data are stored in ANSI/Windows-1252, while on macOS, the default encoding is UTF-8.
When Laravel on Mac tries to encode JSON, it encounters data that is still in Windows-1252 or ISO-8859 format and immediately throws an error:

Malformed UTF-8 characters, possibly incorrectly encoded

On Windows, there's no error because PHP on Windows automatically accepts Windows-1252, which is more permissive.

но потом предлагаю кастинг на модель. Я уже это сделал, но проблему это не решит.
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ver-on-mac
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»