Size: a a a

2021 August 25

RT

Road Test in Laravel Pro
Ребята, подскажите пожалуйста, если я установил пакет Horizon то одновременно он и обычный php artisan queue:work не могут работать? Я создал задание в очереди с именем "test" и запускаю стандартный форкер php artisan queue:work —queue=test и у меня задание не обрабатывается, не пойму почему
источник

СШ

Самвел Шамамян... in Laravel Pro
Здравствуйте друзья.
Мне нужна ваша помощ.
Мне нужна CRUD форма на Ajax.
У меня есть уже написанный код, но есть некоторая проблема.
Шаблонные примери из интернета не помогают.

Только через Ajax в UI не показывается список из базы данных.
Могу прислать пошаговый скрин кода.

Откликнитесь пожалуйста. Спасибо.
источник

Е

Егор in Laravel Pro
Вы можете использовать vue + inertia. https://inertiajs.com/
источник

СШ

Самвел Шамамян... in Laravel Pro
Ну да. Но нужно именно на js Ajax
источник

Е

Егор in Laravel Pro
Присылайте код
источник

СШ

Самвел Шамамян... in Laravel Pro
🙏
источник

AS

Andrey Shaposhnikov in Laravel Pro
Добрый день всем!

Глупый, наверное, вопрос. Сейчас в силу разных причин надо подтягивать данные из "сторонней" базы для подгрузки справочников на фронт. Нюанс в том, что база, из которой надо тянуть - это MSSQL с кодировкой Win1251 (изменить нельзя - база от стороннего софта). Коннект подцепил через ODBC-драйвер. Сейчас "в рамках тестов" делаю простые запросы вида "SELECT TOP 10 id,name,slug FROM matls WHERE..." (в raw-sql, модели позже допилю)
Коннект проходит, запрос проходит, но при конвертации в json-response получаю:
Malformed UTF-8 characters, possibly incorrectly encoded

При этом если запрос сделать такой, чтоб не было русских букв в выборке - всё ок. Но тут надо именно с русскими. Как правильнее конвертировать кодировку?
источник

AS

Andrey Shaposhnikov in Laravel Pro
Основная база - Postgre в UTF8
источник

I

Ivan in Laravel Pro
/* Преобразует из EUC-JP в UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");
разве не подойдет?

str
Строка (string), которая преобразуется.

to_encoding
Кодировка, в которую будет преобразована строка str.

from_encoding
Параметр для указания исходной кодировки строки.
источник

I

Ivan in Laravel Pro
$newString = mb_convert_encoding($arr, "UTF-8", "auto");
return response()->json($newString);
источник

D

Ditrich in Laravel Pro
в config/database.php можно настроить sqlsrv для MSSQL, там и кодировку можно нужную прописать
источник

D

Developer in Laravel Pro
Переслано от Developer
ребята, я использую этот пакет(https://grapesjs.com/) для page builder, как я могу обновить пакет до последней версии для nova, пожалуйста помогите
источник

D

Developer in Laravel Pro
Переслано от Developer
источник

AS

Andrey Shaposhnikov in Laravel Pro
Так, по пунктам:

коннект:
 'connections' => [
       'ext_mssql' => [
           'driver'   => 'odbc',
           'dsn'      => 'odbc:Driver={SQL Server};Server=server;Database=db1;Trusted_Connection=Yes;',
           'charset'  => 'win1251', ...

Запрос в тестовом контроллере:
   public function list(Request $request)
   {
       $list = DB::connection("ext_mssql")->select("SELECT TOP 10 id,name,slug FROM matls WHERE type=1");
       return response()->json($list);
   }

$list - это объект, соотв $newString = mb_convert_encoding($arr, "UTF-8", "auto"); его не съест на входе...
Делать "перебор по полям" мне кажется кривым решением.
источник

AS

Andrey Shaposhnikov in Laravel Pro
Логики пока никакой нигде нет. Я пока "разбираюсь с коннектами/кодировками", ибо ранее не приходилось работать с базами в разных кодировках под ларой.
источник

EG

Egor Gruzdev in Laravel Pro
Почему при конекте, windows-1251?

Если тебе от базы нужно в utf-8, так и запрашивай их в utf-8.

И не придется "трахаться" с кодировкой в приложении.
источник

AS

Andrey Shaposhnikov in Laravel Pro
База в Windows-1251.
источник

EG

Egor Gruzdev in Laravel Pro
Пофиг, ты при соединении сообщаешь базе, что клиент просит utf-8, дальше не забота клиента, как база ьудет это все обрабатывать

Одно но, чтоб не было символов которые в windows-1251 не могут быть преобразованы, например смайлики.
источник

AS

Andrey Shaposhnikov in Laravel Pro
Если в коннекте задать charset=>utf8 - ничего не меняется (та же ошибка).
источник

AS

Andrey Shaposhnikov in Laravel Pro
Ещё раз - база в кодировке Windows-1251. Как я могу "попросить базу отдать UTF8"? Не догоняю.
источник